|
Több hónapos feladat
Töltse le az alábbi programkódot egy Teszt.java nevű állományba, majd egészítse
ki az instrukcióknak megfelelően:
Teszt.java
import java.util.Arrays; import java.util.ArrayList; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;
class Naptár { private final String[] hónapok;
@Override public String toString() { return Arrays.toString(hónapok).replaceAll("[\\[\\]]", ""); } }
public class Teszt { public static void main(String[] args) { ArrayList<Naptár> gal = new ArrayList<>(); try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { String sor = null; while ((sor = br.readLine()) != null) { String[] st = sor.split(";"); gal.add(new Naptár(st)); } } catch (IOException ioe) { ioe.printStackTrace(); } Naptár[] nt = gal.toArray(new Naptár[0]); for (Naptár f : nt) { System.out.println(f); }
System.out.println(); Naptár.kiírHónapokSzámaSzerintRendezve(nt);
System.out.println(); Naptár.kiírEmberekSzámaSzerintCsökkenőSorrendben(nt); } }
letöltés szöveges állományként
-
Hozza létre a
Naptár osztály egyetlen konstruktorát az UML-diagramnak
megfelelő paraméterezéssel! A konstruktor a paramétereként megkapott tömb referenciáját
másolja a hónapok mezőbe!
-
Bővítse ki a
Naptár osztályt úgy, hogy az megvalósítsa a
Comparable<Naptár> generikus interfészt! Az interfész által deklarált
compareTo() metódust úgy implementálja, hogy az aktuális naptár példány
hónapjainak a darabszámát a paraméterként megkapott naptár példány hónapjainak a számával
hasonlítsa össze növekvő rendezettséget figyelembe véve!
-
Írja meg a
Naptár osztály kiírHónapokSzámaSzerintRendezve()
nevű statikus metódusát úgy, hogy az a paramétereként megkapott tömb naptárait a benne
tárolt hónapok darabszáma szerint növekvő sorba rendezze, majd a rendezett tömb elemeit
kiírja a standard kimenetre!
-
Írja meg a
Naptár osztály
kiírEmberekSzámaSzerintCsökkenőSorrendben() nevű statikus metódusát úgy,
hogy az a paramétereként megkapott tömb naptárait az egyes naptárakban található,
„ember” szuffixre végződő hónapok száma szerint csökkenő sorba rendezze, majd
a rendezett tömb elemeit kiírja a standard kimenetre! A szuffix vizsgálatához használja a
String osztálybeli endsWith() metódust!
Példa bemenet
január;október február;szeptember;december;november október;december;március december;április;május;szeptember;augusztus
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
január, október február, szeptember, december, november október, december, március december, április, május, szeptember, augusztus
január, október október, december, március február, szeptember, december, november december, április, május, szeptember, augusztus
február, szeptember, december, november december, április, május, szeptember, augusztus október, december, március január, október
letöltés szöveges állományként
|
|