4. Gy: JAVA osztályok

Hasonló dokumentumok
Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

OOP: Java 5.Gy: Osztály, referencia, konstruktor

OOP: Java 8.Gy: Gyakorlás

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektum Orientált Programozás. 6. JAVA öröklődés 30/1B IT MAN

OOP: Java 4.Gy: Java osztályok

OOP: Java 8.Gy: Abstract osztályok, interfészek

7. K: JAVA alapok Konzultáció

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

OOP: Java 1.Gy: Java alapok

Programozási technológia

Java és web programozás

OOP: Java 7.Gy: Öröklődés, referenciák

Szoftvertechnolo gia gyakorlat

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java Programozás 11. Ea: MVC modell

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Osztályok. 4. gyakorlat

Kalapácsvetés 2016 szöveges

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 8.

3. Osztályok II. Programozás II

BME MOGI Gépészeti informatika 6.

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

Programozási nyelvek Java

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Programozás I. Első ZH segédlet

Java és web programozás

Java és web programozás

Programozási nyelvek II.: JAVA, 4. gyakorlat

és az instanceof operátor

Java gyakorlat feladatai e s megolda sai ( )

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java programozási nyelv 4. rész Osztályok II.

OOP: Java 1.Gy: Java alapok

C++ programozási nyelv Konstruktorok-destruktorok

Segédanyag: Java alkalmazások gyakorlat

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Java II. I A Java programozási nyelv alapelemei

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Programozási nyelvek II.: JAVA, 3. gyakorlat

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Programozási nyelvek II.: JAVA

BME MOGI Gépészeti informatika 5.

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

#include <iostream> using namespace std; // struct macska is lehetne class macska { public: int kor; int suly; }; void main() { macska cirmi;

Informatika terméktervezőknek

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

Programozási nyelvek II.: JAVA, 4. gyakorlat

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozási nyelvek II.: JAVA

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

JAVA PROGRAMOZÁS 3.ELŐADÁS

BME MOGI Gépészeti informatika 7.

Programozás I. Második ZH segédlet

INFORMATIKAI ALAPISMERETEK

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Java II. I A Java programozási nyelv alapelemei

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Objektumorientált Programozás VI.

Java IX. telkezelés a Java-ban

Java programozási nyelv 6. rész Java a gyakorlatban

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

Java IX. telkezelés a Java-ban

Java programozási nyelv 5. rész Osztályok III.

Objektumorientált programozás C# nyelven

OOP #14 (referencia-elv)

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

A C# programozási nyelv alapjai

C# osztályok. Krizsán Zoltán

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

Java gyakorlatok. Tartalomjegyzék

Java Programozás 3. Gy: Java GUI. Swing, AWT

Programozás I. Második ZH segédlet

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

Programozási nyelvek Java

Abstract osztályok és interface-ek. 7-dik gyakorlat

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Szoftvertechnológia alapjai Java előadások

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Klasszikus programozás Java nyelven

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Programozási nyelvek Java

Programozás I. Objektum-orientált programozás Stringműveletek V 1.0 ÓE-NIK-AII,

Átírás:

Objektum Orientált Programozás 4. Gy: JAVA osztályok 25/1B IT MAN B IT v: 2016.02.24 MAN

Feladatok 1. Készítsen egy Teglalap osztályt - legyen adattagja a két oldal tárolására (egészek) - legyen konstruktora, amely két paraméterként kapott értékkel inicializál. - legyen konstruktora, amely egy paraméterként kapott értékkel inicializálja mindkét adattagot (négyzet) - legyen metódusa, amely visszaadja a teruletet - legyen metódusa, amely egy String-be összefüzve adja vissza a téglalap adatait a következő alakban: "aoldal, boldal: terulet" - legyen metódusa, amely beállítja a téglalap oldalait paraméterként kapott két értékkel. - legyen metódusa, amely beállítja a téglalap oldalait paraméterként kapott egy értéket állítva mindkét oldalnak. - legyen metódusa, amely igazat ad, ha a téglalap nagyobb területű, mint a paraméterként kapott téglalap, hamisat ad ha nem. 25/2 B IT MAN

Feladatok 1. Készítsen egy Teglalap osztályt - legyen metódusa, amely igyazat ad, ha a téglalap oldalai megegyeznek a paraméterként kapott téglalap oldalaival, hamisat ha nem (egyenloe). Készítsen egy TeglalapProba futtatható osztályt, amelyben - létrehoz két téglalap objektumot ("a" és "b"), valamint deklarál egy harmadik változót ("c"), amely értékül "a"-t veszi fel. - Majd kiírja mindhárom változóra a String-be összefüzött adatokat. - Majd megváltoztatja "a" oldalait és újra kiírja mindhármat. - - Változtassa meg az "a" oldalait úgy, hogy megegyezzen "b" oldalaival. - Majd írja ki az (a == b) és az (a == c) értékét. - Majd használja az "egyenloe" metódust "a" és "B" között. 25/3 B IT MAN

Teglalap osztály, adattagok: oldal1, oldal2 Konstruktor: 2 oldallal inicializál, 1 oldallal inicializál Metódus: terület függvény Teglalap.java public class Teglalap { private int AOldal; private int BOldal; public Teglalap(int AOldal, int BOldal) { this.aoldal = AOldal; this.boldal = BOldal; public Teglalap(int Oldal) { AOldal = Oldal; BOldal = Oldal; int Terulet(){ return AOldal*BOldal; 25/4 B IT MAN

Metódus: Adatok függvény: oldalak, terület Metódus: 2 oldal beállítása Metódus: Egyforma oldalak beállítása Metódus: nagyobb területű Metódus: Egyforma Teglalap.java String Adatok(){ return "Aoldal="+AOldal+" Boldal="+BOldal+" Terület="+Terulet(); void setoldal(int AOldal, int BOldal) { this.aoldal = AOldal; this.boldal = BOldal; void setoldal(int Oldal) { AOldal = Oldal; BOldal = Oldal; boolean NagyobbTerületu(Teglalap Masik){ return Terulet() > Masik.Terulet(); boolean Egyforma(Teglalap Masik){ return AOldal==Masik.AOldal && BOldal==Masik.BOldal; 25/5 B IT MAN

TeglalapProba futtatható osztály: Példányosítás A, B, C=A; TeglalapProba.java public class TeglalapProba { public static void main(string[] args) { Teglalap A = new Teglalap(4, 7); Teglalap B = new Teglalap(5); Teglalap C = A; Konzol System.out.println(A.Adatok()); System.out.println(B.Adatok()); System.out.println(C.Adatok()); Aoldal=4 Boldal=7 Terület=28 Aoldal=5 Boldal=5 Terület=25 Aoldal=4 Boldal=7 Terület=28 25/6 B IT MAN

TeglalapProba futtatható osztály: A oldalainak megváltoztatása, kiíratás. TeglalapProba.java public class TeglalapProba { public static void main(string[] args) { Teglalap A = new Teglalap(4, 7); Teglalap B = new Teglalap(5); Teglalap C = A; Konzol System.out.println(A.Adatok()); System.out.println(B.Adatok()); System.out.println(C.Adatok()); A.setOldal(6,3); System.out.println(A.Adatok()); B.setOldal(3,4); System.out.println(B.Adatok()); Aoldal=4 Boldal=7 Terület=28 Aoldal=5 Boldal=5 Terület=25 Aoldal=4 Boldal=7 Terület=28 Aoldal=6 Boldal=3 Terület=18 Aoldal=3 Boldal=4 Terület=12 25/7 B IT MAN

TeglalapProba futtatható osztály: A oldalainak megváltoztatása, kiíratás. A==B, A==C, A.Egyforma(B) kiíratása. TeglalapProba.java public class TeglalapProba { public static void main(string[] args) { Teglalap A = new Teglalap(4, 7); Teglalap B = new Teglalap(5); Teglalap C = A; Konzol A.setOldal(5); System.out.println(A.Adatok()); System.out.println(B.Adatok()); System.out.println(A==B); System.out.println(A==C); System.out.println(A.Egyforma(B)); Aoldal=5 Boldal=5 Terület=25 Aoldal=5 Boldal=5 Terület=25 false true true 25/8 B IT MAN

Feladatok 2. Készítsen egy Teglak futtatható osztályt, amelyben létrehoz 10 darab Teglalap-ot és eltárolja a referenciájukat egy tömbben, véletlenszerűen generálva az oldalaikat a 2-10 tartományban. Ezután írja ki az összes téglalap adatait, majd határozza meg és írja ki a legnagyobb területű téglalap adatait. Majd hozzon létre egy téglalapot beolvasott oldalakkal és írja ki az ettől kisebb területű téglalapokat. Majd írja ki az első olyan téglalapnak az indexét, amelynek az oldalai megegyeznek a beolvasott téglalapéval, vagy ha nincs ilyen, akkor azt hogy "nincs egyező". 25/9 B IT MAN

Teglak futtatható osztály: Véletlenszerű (2-10) oldalakkal 10 téglalap. Adataik kiírása. Teglak.java public class Teglak { public static void main(string[] args) { Teglalap[] T = new Teglalap[10]; int AOldal, BOldal; for(int i=0; i<10; i++){ AOldal = 2+(int)(Math.random()*9); BOldal = 2+(int)(Math.random()*9); T[i] = new Teglalap(AOldal, BOldal); for(int i=0; i<10; i++) System.out.println(T[i].Adatok()); 25/10 B IT MAN

Teglak futtatható osztály: Véletlenszerű (2-10) oldalakkal 10 téglalap. Adataik kiírása. Konzol Aoldal=2 Boldal=9 Terület=18 Aoldal=2 Boldal=9 Terület=18 Aoldal=8 Boldal=6 Terület=48 Aoldal=3 Boldal=7 Terület=21 Aoldal=8 Boldal=10 Terület=80 Aoldal=6 Boldal=4 Terület=24 Aoldal=7 Boldal=7 Terület=49 Aoldal=7 Boldal=3 Terület=21 Aoldal=2 Boldal=6 Terület=12 Aoldal=5 Boldal=3 Terület=15 25/11 B IT MAN

Teglak futtatható osztály: Legnagyobb területű téglalap Teglak.java public class Teglak { public static void main(string[] args) { Teglalap[] T = new Teglalap[10]; int AOldal, BOldal; for(int i=0; i<10; i++){ AOldal = 2+(int)(Math.random()*9); BOldal = 2+(int)(Math.random()*9); T[i] = new Teglalap(AOldal, BOldal); for(int i=0; i<10; i++) System.out.println(T[i].Adatok()); int MaxIndex = 0; for(int i=1; i<10; i++){ if (T[i].Terulet() > T[MaxIndex].Terulet()) MaxIndex = i; System.out.println("Legnagyobb: "+T[MaxIndex].Adatok()); 25/12 B IT MAN

Teglak futtatható osztály: Legnagyobb területű téglalap Konzol Aoldal=10 Boldal=7 Terület=70 Aoldal=2 Boldal=10 Terület=20 Aoldal=10 Boldal=8 Terület=80 Aoldal=10 Boldal=3 Terület=30 Aoldal=6 Boldal=4 Terület=24 Aoldal=3 Boldal=2 Terület=6 Aoldal=2 Boldal=3 Terület=6 Aoldal=8 Boldal=10 Terület=80 Aoldal=2 Boldal=8 Terület=16 Aoldal=4 Boldal=6 Terület=24 Legnagyobb: Aoldal=10 Boldal=8 Terület=80 25/13 B IT MAN

Teglak futtatható osztály: Téglalap beolvasása, ettől kisebb területűek kiírása Teglak.java... Scanner sc = new Scanner(System.in); System.out.println("A oldal: "); String s = sc.nextline(); int a = Integer.parseInt(s); System.out.println("B oldal: "); s = sc.nextline(); int b = Integer.parseInt(s); Teglalap A = new Teglalap(a, b); for(int i=0; i<10; i++){ if (A.NagyobbTerületu(T[i])) System.out.println(T[i].Adatok()); 25/14... B IT MAN

Teglak futtatható osztály: Téglalap beolvasása, ettől kisebb területűek kiírása Aoldal=7 Boldal=2 Terület=14 Aoldal=4 Boldal=10 Terület=40 Aoldal=2 Boldal=4 Terület=8 Aoldal=5 Boldal=6 Terület=30 Aoldal=8 Boldal=8 Terület=64 Aoldal=3 Boldal=4 Terület=12 Aoldal=6 Boldal=2 Terület=12 Aoldal=10 Boldal=8 Terület=80 Aoldal=8 Boldal=5 Terület=40 Aoldal=2 Boldal=7 Terület=14 A oldal: 6 AB oldal: 5 Konzol Aoldal=2 Boldal=4 Terület=8 Aoldal=3 Boldal=4 Terület=12 Aoldal=6 Boldal=2 Terület=12 25/15 Aoldal=2 Boldal=7 Terület=14 B IT MAN

Teglak futtatható osztály: Megegyező területű téglalap kiírása Teglak.java... System.out.println("Megegyező téglalap:"); boolean VanEgyezo = false; int i = 0; while (!VanEgyezo && i<9) { if (A.Egyforma(T[i])) { System.out.println(T[i].Adatok()); VanEgyezo = true; i++; if (!VanEgyezo) System.out.println("Nincs egyező téglalap");... 25/16 B IT MAN

Teglak futtatható osztály: Megegyező területű téglalap kiírása Konzol Konzol Aoldal=10 Boldal=3 Terület=30 Aoldal=5 Boldal=4 Terület=20 Aoldal=10 Boldal=9 Terület=90 Aoldal=7 Boldal=3 Terület=21 Aoldal=9 Boldal=7 Terület=63 Aoldal=4 Boldal=4 Terület=16 Aoldal=6 Boldal=10 Terület=60 Aoldal=2 Boldal=6 Terület=12 Aoldal=10 Boldal=6 Terület=60 Aoldal=8 Boldal=10 Terület=80 Aoldal=6 Boldal=8 Terület=48 Aoldal=5 Boldal=9 Terület=45 Aoldal=10 Boldal=6 Terület=60 Aoldal=5 Boldal=6 Terület=30 Aoldal=5 Boldal=6 Terület=30 Aoldal=8 Boldal=2 Terület=16 Aoldal=3 Boldal=10 Terület=30 Aoldal=5 Boldal=2 Terület=10 Aoldal=10 Boldal=3 Terület=30 Aoldal=6 Boldal=7 Terület=42 A oldal: A oldal: 10 4 B oldal: B oldal: 6 7 Megegyező téglalap: Megegyező téglalap: Aoldal=10 Boldal=6 Terület=60 Nincs egyező téglalap 25/17 B IT MAN

Feladatok 3. Készítsen egy HangLemez osztályt - Legyen adattagja az előadó, a cím és a hossz (egész) tárolására - Legyen konstruktora, amely paraméterként kapott értékekkel inicializálja az adattagokat. - Legyen metódusa, amely egy String-ben összefüzve adja vissza a lemez adatait a következő alakban "Elődó: Cim, hossz perc". - Legyen metódusa, amely 1-t ad vissza, ha a lemez hosszabb, mint a paraméterként kapott lemez, -1-et ad vissza, ha a paraméterként kapott a hosszabb és 0-t ad, ha egyforma hosszúak. - Legyen egy metódusa, amely paraméterként egy előadót kap (String) és igazat ad, ha a a lemeznek ő az előadója. (A String-ek tartalmi egyezőségének vizsgálatára használja a String osztály equals() vagy equalsignorecase() metódusát.) Készítsen egy Lemezek futtatható osztály, amelyben létrehoz és tömbben tárol beolvasott számú beolvasott adatú hanglemezt. Majd írja ki a leghosszabb lemez adatait. Majd írja ki a egy beolvasott nevű előadó lemezeit. 25/18 B IT MAN

Hanglemez osztály, adattagok: eloado, cím, hossz, alap konstruktor Metódus: Adatok: Előadó, Cím, Hossz Teglak.java public class Hanglemez { private String eloado; private String cim; private int hossz; public Hanglemez(String eloado, String cim, int hossz){ this.eloado = eloado; this.cim = cim; this.hossz = hossz; String Adatok(){ return "Előadó: "+eloado+" Cím: "+cim+" Hossz: "+hossz; 25/19 B IT MAN

Hanglemez osztály, Metódus: ellhossz: 1-hosszabb, mint a másik, -1-rövidebb, 0-egyforma hosszú Metódus: elleloadó: igaz, ha az előadó egyezik a kapott stringgel Teglak.java int gethossz(){ return hossz; int ellhossz(hanglemez A){ int vi = 0; if (hossz > A.getHossz()) vi=1; if (hossz < A.getHossz()) vi=-1; return vi; boolean elleloado(string eloado){ return eloado.equals(this.eloado); 25/20 B IT MAN

Lemezek futtatható osztály: N darab hanglemez beolvasása, tárolása tömbben Teglak.java import java.util.scanner; public class Lemezek { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.println("Lemezek száma: "); String s1 = sc.nextline(); int db = Integer.parseInt(s1); Hanglemez [] t = new Hanglemez[db+1]; 25/21 B IT MAN

Lemezek futtatható osztály: N darab hanglemez beolvasása, tárolása tömbben Teglak.java String s2, s3; int lh; for (int i=1; i<=db; i++) { System.out.println(i+". előadó: "); s1 = sc.nextline(); System.out.println(i+". cím: "); s2 = sc.nextline(); System.out.println(i+". lemezhossz: "); s3 = sc.nextline(); lh = Integer.parseInt(s3); t[i] = new Hanglemez(s1, s2, lh); 25/22 B IT MAN

Lemezek futtatható osztály: Leghosszabb lemez adatai Beolvasott nevű előadó lemezei Teglak.java int MaxIndex = 1; for (int i=1; i<=db; i++) { if (t[i].ellhossz(t[maxindex]) == 1) MaxIndex = i; System.out.println("A leghosszabb lemez: "+t[maxindex].adatok()); System.out.println("Előadó: "); s1 = sc.nextline(); for (int i=1; i<=db; i++) { if (t[i].elleloado(s1)) System.out.println(t[i].Adatok()); 25/23 B IT MAN

Lemezek futtatható osztály: Leghosszabb lemez adatai Beolvasott nevű előadó lemezei Konzol Lemezek száma: 4 1. előadó: aaaa 1. cím: gwegrgregwh 1. lemezhossz: 45 2. előadó: bbbb 2. cím: getwhhterh 2. lemezhossz: 43 3. előadó: aaaa 3. cím: hhrfeheth4zth 3. lemezhossz: Konzol 4. előadó: aaaa 4. cím: dghrehfuur 4. lemezhossz: 59 A leghosszabb lemez: Előadó: aaaa Cím: dghrehfuur Hossz: 59 Előadó: aaaa Előadó: aaaa Cím: gwegrgregwh Hossz: 45 Előadó: aaaa Cím: hhrfeheth4zth Hossz: 42 Előadó: aaaa Cím: dghrehfuur Hossz: 59 25/24 42 B IT MAN

VÉGE VÉGE 25/25 B IT MAN