A feladat aminek a megoldását itt közzéteszem, itt található. A feladatot csak forráskódként teszem közzé.
// Auto osztály: Auto.java package webotlet_fajlkezeles07; public class Auto { private String marka; private int km; public Auto(String sor1, String sor2) { marka = sor1; km = Integer.parseInt(sor2); } @Override public String toString() { return "Auto{" + "marka=" + marka + ", km=" + km + '}'; } public String getMarka() { return marka; } public int getKm() { return km; } } // kezelő osztály package webotlet_fajlkezeles07; import java.io.*; public class Webotlet_Fajlkezeles07 { public static void main(String[] args) { RandomAccessFile raf; String sor; Auto[] autok = null; try { raf = new RandomAccessFile("autok2sorban.txt", "r"); int db = 0; for (sor = raf.readLine(); sor != null; sor = raf.readLine()) { db++; } autok = new Auto[db / 2]; raf.seek(0); int hely = 0; for (sor = raf.readLine(); sor != null; sor = raf.readLine()) { autok[hely] = new Auto(sor, raf.readLine()); hely++; } raf.close(); } catch (IOException e) { System.out.println("HIBA"); } for (int i = 0; i < autok.length; i++) { System.out.println(autok[i].toString()); } // Hány autó futott 20 ezer km-nél kevesebbet? System.out.println("1. feladat"); int dbKm = 0; for( int i = 0; i < autok.length; i++ ) { if( autok[i].getKm() < 20000 ) { dbKm++; } } System.out.println(dbKm+" auto futott 20 ezer km-nel " + "kevesebbet."); // Hány Toyota márkájú autó van a fájlban? // (Többféle Toyota is van!) System.out.println("2. feladat"); int dbToyota = 0; for( int i = 0; i < autok.length; i++ ) { if( autok[i].getMarka().split(" ")[0].equals("Toyota") ) { dbToyota++; } } System.out.println(dbToyota+" darab Toyota van."); // Melyik autó futott a legtöbbet? Írd ki a típusát! System.out.println("3. feladat"); int max = 0; for( int i = 1; i < autok.length; i++ ) { if( autok[i].getKm() > autok[max].getKm() ) { max = i; } } System.out.println("A "+autok[max].getMarka()+" auto futott " + "a legtobbet."); // Hány km-t futottak az autók átlagosan? System.out.println("4. feladat"); int km = 0; for( int i = 0; i < autok.length; i++ ) { km += autok[i].getKm(); } System.out.println("Az autok atlagosan "+((double)km/autok.length)+ " km-t futottak."); } }