[[oktatas:programozás:codekata|< Code Kata]] ====== FileReaderScanner Kata Java ====== ===== Leírás ===== Előzmény: Adott egy szöveges állomány, soronként különböző adatokkal. Legyen például egy járművek áthaladási ideje, rendszámmal a következő formában: óra perc mp rendszám Például: 12 30 5 ASG-124 12 35 32 BCD-384 Feladat: Olvassuk be az állomány tartalmát egy listába. Teendők: * Osztály létrehozása, amelyben tárolhatjuk az időt és a rendszámot. * Fájlolvasáshoz egy metódus készítése * Szükséges fájlkezelő osztályok példányosítása * Olvasás fájlból * A fájlból olvasás során a sorok tömbökbe rendezése * Minden ciklusban a létrejött tömb tartalmát áttesszük egy a járművek számára létrehozott osztály egy objektumába * A járműt tartalmazó objektumot listába tesszük * A metódus adja vissza a listát ===== Megvalósítás ===== package program01; import java.util.*; import java.io.*; class Jarmu{ int ora; int perc; int mp; String rendszam; } public class Program01 { private static List feladat01() { List list = new ArrayList(); FileReader fr = null; try { fr = new FileReader("jarmu.txt"); }catch(FileNotFoundException ex){ System.err.println("Nincs meg a fajl!"); } Scanner fin = new Scanner(fr); while(fin.hasNext()){ String row = fin.nextLine(); String[] t = row.split(" "); Jarmu jarmu = new Jarmu(); jarmu.ora = Integer.parseInt(t[0]); jarmu.perc = Integer.parseInt(t[1]); jarmu.mp = Integer.parseInt(t[2]); jarmu.rendszam = t[3]; list.add(jarmu); jarmu = null; } return list; } public static void main(String[] args) { List list = new ArrayList(); list = feladat01(); Jarmu jarmu = new Jarmu(); jarmu = list.get(2); System.out.println(jarmu.rendszam); } }