Alap feladat megoldása, és 2 részfeladat
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
|
||||
|
@ -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<Allat> 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<Allat> 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");
|
||||
}
|
||||
}
|
||||
|
18
README.md
Normal file
18
README.md
Normal file
@ -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).
|
Binary file not shown.
Reference in New Issue
Block a user