diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allat.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allat.class index 8964e65..5f43255 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allat.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allat.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allatkert.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allatkert.class index 7bfc28b..280febe 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allatkert.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Allatkert.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlo.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlos.class similarity index 65% rename from Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlo.class rename to Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlos.class index dfb9ff5..4b01ad5 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlo.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Emlos.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Hullo.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Hullo.class index 21cb34f..d67c104 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Hullo.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Hullo.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Lakresz.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Lakresz.class index d33175b..ba80eec 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Lakresz.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Lakresz.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Madar.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Madar.class index 6b508d6..632215c 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Madar.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Madar.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Main.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Main.class index 9b23e4f..0ff19e3 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Main.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Main.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Rovar.class b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Rovar.class index 3493e41..9c4e29f 100644 Binary files a/Gosztolya_Mate-FZRNZW-Allatkert/bin/Rovar.class and b/Gosztolya_Mate-FZRNZW-Allatkert/bin/Rovar.class differ diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/idosebb_allatok.txt b/Gosztolya_Mate-FZRNZW-Allatkert/idosebb_allatok.txt index e69de29..48e428c 100644 --- a/Gosztolya_Mate-FZRNZW-Allatkert/idosebb_allatok.txt +++ b/Gosztolya_Mate-FZRNZW-Allatkert/idosebb_allatok.txt @@ -0,0 +1,12 @@ +Az állatok megnevezés: Gorilla, életkor: 9 év, súly: 100.5 kg, lakrész: FUVES_RESZ, Élettér: Szavanna +Az állatok megnevezés: Majom, életkor: 8 év, súly: 90.5 kg, lakrész: FUVES_RESZ, Élettér: Szavanna +Az állatok megnevezés: Zebra, életkor: 7 év, súly: 300.0 kg, lakrész: FUVES_RESZ, Élettér: Szavanna +Az állatok megnevezés: Hiéna, életkor: 6 év, súly: 70.0 kg, lakrész: FUVES_RESZ, Élettér: Szavanna +Az állatok megnevezés: Panda, életkor: 12 év, súly: 120.0 kg, lakrész: FUVES_RESZ, Élettér: Bambuszerdő +Az állatok megnevezés: Farkas, életkor: 8 év, súly: 80.0 kg, lakrész: FUVES_RESZ, Élettér: Erdő +Az állatok megnevezés: Bagoly, életkor: 5 év, súly: 2.3 kg, lakrész: MADARHAZ, szárnyfesztáv: 120 cm +Az állatok megnevezés: Flamingó, életkor: 6 év, súly: 3.5 kg, lakrész: MADARHAZ, szárnyfesztáv: 160 cm +Az állatok megnevezés: Varjú, életkor: 4 év, súly: 1.1 kg, lakrész: MADARHAZ, szárnyfesztáv: 80 cm +Az állatok megnevezés: Kakadu, életkor: 6 év, súly: 1.0 kg, lakrész: MADARHAZ, szárnyfesztáv: 60 cm +Az állatok megnevezés: Boa, életkor: 7 év, súly: 20.0 kg, lakrész: MEDENCE, Pikkelyes: igen +Az állatok megnevezés: Iguána, életkor: 5 év, súly: 3.0 kg, lakrész: FUVES_RESZ, Pikkelyes: nem diff --git a/Gosztolya_Mate-FZRNZW-Allatkert/src/Main.java b/Gosztolya_Mate-FZRNZW-Allatkert/src/Main.java index 62ca602..59a335e 100644 --- a/Gosztolya_Mate-FZRNZW-Allatkert/src/Main.java +++ b/Gosztolya_Mate-FZRNZW-Allatkert/src/Main.java @@ -5,8 +5,13 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; + enum Lakresz { - FUVES_RESZ, HOMOK, MEDENCE, MADARHAZ, HULLOHAZ + FUVES_RESZ, + HOMOK, + MEDENCE, + MADARHAZ, + HULLOHAZ } abstract class Allat { @@ -56,14 +61,14 @@ abstract class Allat { @Override public String toString() { - return "Megnevezés: " + megnevezes + ", Életkor: " + eletkor + " év, Súly: " + suly + " kg, Lakrész: " + lakresz; + return "Az állatok megnevezés: " + megnevezes + ", életkor: " + eletkor + " év, súly: " + suly + " kg, lakrész: " + lakresz; } } -class Emlo extends Allat { +class Emlos extends Allat { private String eletter; - public Emlo(String megnevezes, int eletkor, double suly, Lakresz lakresz, String eletter) { + public Emlos(String megnevezes, int eletkor, double suly, Lakresz lakresz, String eletter) { super(megnevezes, eletkor, suly, lakresz); this.eletter = eletter; } @@ -100,7 +105,7 @@ class Madar extends Allat { @Override public String toString() { - return super.toString() + ", Szárnyfesztáv: " + szarnyfesztav + " cm"; + return super.toString() + ", szárnyfesztáv: " + szarnyfesztav + " cm"; } } @@ -187,26 +192,37 @@ class Allatkert { } public void listazAllatokat() { - for (int i = 0; i < allatok.size(); i++) { - System.out.println((i + 1) + ". " + allatok.get(i)); - } - } - - public int getAdottTipusuAllatokSzama(Class tipus) { - return (int) allatok.stream().filter(tipus::isInstance).count(); - } - - public void listazTipusokSzerint() { + System.out.println("\n\t[+2] Az állatok típusonkénti kilistázása súly szerint csökkenő sorrendben'\n"); allatok.stream() - .sorted(Comparator.comparingDouble(Allat::getSuly).reversed()) .collect(Collectors.groupingBy(Allat::getClass)) .forEach((tipus, lista) -> { System.out.println("Típus: " + tipus.getSimpleName()); - lista.forEach(System.out::println); + List rendezettLista = lista.stream() + .sorted(Comparator.comparingDouble(Allat::getSuly).reversed()) + .collect(Collectors.toList()); + for (int i = 0; i < rendezettLista.size(); i++) { + Allat allat = rendezettLista.get(i); + System.out.println((i + 1) + ". " + allat); + } }); + } + + + public int getAdottTipusuAllatokSzama(Class tipus) { + List adottTipusuAllatok = allatok.stream() + .filter(tipus::isInstance) + .collect(Collectors.toList()); + + System.out.println("Típus: " + tipus.getSimpleName()); + for (int i = 0; i < adottTipusuAllatok.size(); i++) { + System.out.println((i + 1) + ". " + adottTipusuAllatok.get(i)); + } + + return adottTipusuAllatok.size(); } public void irjFajlba(String fileNev) { + System.out.println("\n\t[+3] Minden olyan állatnév kiírása fájlba, ami legalább 4 éves, és a nevébe van 'a' betű.\n"); try (FileWriter writer = new FileWriter(fileNev)) { for (Allat allat : allatok) { if (allat.getMegnevezes().contains("a") && allat.getEletkor() >= 4) { @@ -224,25 +240,64 @@ public class Main { public static void main(String[] args) { Allatkert allatkert = new Allatkert("Fővárosi Állatkert", "Budapest, Állatkerti krt. 6-12.", "123-4567", "info@allatkert.hu"); - // Példányosítás - allatkert.hozzaadAllat(new Emlo("Oroszlán", 5, 190.5, Lakresz.FUVES_RESZ, "Szavanna")); + // állatok betöltése + allatkert.hozzaadAllat(new Emlos("Oroszlán", 5, 190.5, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Gorilla", 9, 100.5, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Majom", 8, 90.5, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Gepárd", 6, 80.5, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Tigris", 4, 210.0, Lakresz.FUVES_RESZ, "Dzsungel")); + allatkert.hozzaadAllat(new Emlos("Elefánt", 15, 5400.0, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Zebra", 7, 300.0, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Hiéna", 6, 70.0, Lakresz.FUVES_RESZ, "Szavanna")); + allatkert.hozzaadAllat(new Emlos("Panda", 12, 120.0, Lakresz.FUVES_RESZ, "Bambuszerdő")); + allatkert.hozzaadAllat(new Emlos("Farkas", 8, 80.0, Lakresz.FUVES_RESZ, "Erdő")); + allatkert.hozzaadAllat(new Madar("Sas", 3, 4.0, Lakresz.MADARHAZ, 220)); - allatkert.hozzaadAllat(new Hullo("Krokodil", 12, 400.0, Lakresz.MEDENCE, true)); - allatkert.hozzaadAllat(new Rovar("Bogár", 1, 0.6, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Madar("Papagáj", 2, 0.9, Lakresz.MADARHAZ, 50)); + allatkert.hozzaadAllat(new Madar("Bagoly", 5, 2.3, Lakresz.MADARHAZ, 120)); + allatkert.hozzaadAllat(new Madar("Flamingó", 6, 3.5, Lakresz.MADARHAZ, 160)); + allatkert.hozzaadAllat(new Madar("Varjú", 4, 1.1, Lakresz.MADARHAZ, 80)); + allatkert.hozzaadAllat(new Madar("Galamb", 2, 0.8, Lakresz.MADARHAZ, 40)); + allatkert.hozzaadAllat(new Madar("Fecske", 1, 0.3, Lakresz.MADARHAZ, 35)); + allatkert.hozzaadAllat(new Madar("Kakadu", 6, 1.0, Lakresz.MADARHAZ, 60)); - // Keresés + allatkert.hozzaadAllat(new Hullo("Krokodil", 12, 400.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Krokodil", 15, 450.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Krokodil", 10, 380.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Krokodil", 8, 360.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Gyík", 1, 0.2, Lakresz.FUVES_RESZ, false)); + allatkert.hozzaadAllat(new Hullo("Teknős", 100, 200.0, Lakresz.MEDENCE, false)); + allatkert.hozzaadAllat(new Hullo("Kaméleon", 3, 0.5, Lakresz.FUVES_RESZ, false)); + allatkert.hozzaadAllat(new Hullo("Boa", 7, 20.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Viper", 4, 1.5, Lakresz.FUVES_RESZ, true)); + allatkert.hozzaadAllat(new Hullo("Alligátor", 11, 350.0, Lakresz.MEDENCE, true)); + allatkert.hozzaadAllat(new Hullo("Iguána", 5, 3.0, Lakresz.FUVES_RESZ, false)); + allatkert.hozzaadAllat(new Hullo("Kígyó", 9, 25.0, Lakresz.MEDENCE, true)); + + allatkert.hozzaadAllat(new Rovar("Nagy bogár", 1, 0.6, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Hangya", 1, 0.01, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Méh", 1, 0.03, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Szöcske", 2, 0.05, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Katicabogár", 1, 0.02, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Pillangó", 1, 0.04, Lakresz.FUVES_RESZ, 6)); + allatkert.hozzaadAllat(new Rovar("Tücsök", 3, 0.07, Lakresz.FUVES_RESZ, 6)); + + // kikeresés System.out.println(allatkert.keres("Oroszlán")); - // Listázás + + + // allatok szama + // System.out.println("Emlősök száma: " + allatkert.getAdottTipusuAllatokSzama(Emlos.class)); + // System.out.println("Madarak száma: " + allatkert.getAdottTipusuAllatokSzama(Madar.class)); + // System.out.println("Hüllők száma: " + allatkert.getAdottTipusuAllatokSzama(Hullo.class)); + // System.out.println("Rovarok száma: " + allatkert.getAdottTipusuAllatokSzama(Rovar.class)); + + + // kilistázás súly szerint allatkert.listazAllatokat(); - // Típusok szerinti számolás - System.out.println("Emlősök száma: " + allatkert.getAdottTipusuAllatokSzama(Emlo.class)); - - // Súly szerinti listázás - allatkert.listazTipusokSzerint(); - - // Fájlba írás + // +3 fájlbaírás allatkert.irjFajlba("idosebb_allatok.txt"); } } diff --git a/README.md b/README.md new file mode 100644 index 0000000..7c03a53 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +## Getting Started + +Welcome to the VS Code Java world. Here is a guideline to help you get started to write Java code in Visual Studio Code. + +## Folder Structure + +The workspace contains two folders by default, where: + +- `src`: the folder to maintain sources +- `lib`: the folder to maintain dependencies + +Meanwhile, the compiled output files will be generated in the `bin` folder by default. + +> If you want to customize the folder structure, open `.vscode/settings.json` and update the related settings there. + +## Dependency Management + +The `JAVA PROJECTS` view allows you to manage your dependencies. More details can be found [here](https://github.com/microsoft/vscode-java-dependency#manage-dependencies). diff --git a/java_v2024_12_A.pdf b/java_v2024_12_A.pdf index fe7c460..776118b 100644 Binary files a/java_v2024_12_A.pdf and b/java_v2024_12_A.pdf differ