Hali.
Segítségre lenne szükségem. Van egy felada tamit javaban kellene megoldanom, csak vannak dolgok amiket nem értek és ezért megkérdezem itt is. Szóval a feladat:
Adott egy program ami paraméterként kap egy file-t, amelyben beléptetőrendszer adatok vannak:
Fűrész Elek, 10:21:10, be
Toth Jozsef, 11:12:45, ki
Kiss Janos, 12:25:12, be
Nagy Tamás1 18:27:11, ki
Írja ki, hogy ki hogy egy paraméterben megadott időpontban kik vannak benn.
Odáig megvan, hogy paraméterben megadom a file-t, beolvassa soronként.
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Map.Entry;
public class Beleptetorendszer2 {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Calendar cal;
String sor;
String[] t;
String v = ",";
String be ="be";
Map<String, Integer> map = new HashMap<String, Integer>();
if(args.length != 0){
try{
for(int i = 0; i<args.length; i++){
BufferedReader bf = new BufferedReader(new FileReader(args[i]));
while((sor = bf.readLine()) != null){
t = sor.split(v);
}
System.out.println(sor);
}
bf.close();
}
if(map.size()==0){
System.out.println("Nincs bejelentkezve senki!");
}else{
for(Entry<String, Integer> a : map.entrySet())
System.out.println(a.getKey());
}
}catch(IOException e){
e.printStackTrace();
}
}else{
System.out.println("Nincs megadva paraméterbe fájl!");
}
}
}
Elképzelésem lenne, hogy miként valósítanám meg, de a kódolással már problémám van.
A beolvasott sorok t[1] részét kellene vizsgálni(az időpontot) és ha ez megegyezik akkor a Map-ből csak ezeket listázza ki. Másik gondolatom, hogy azt is kellene vizsgálni, hogy a sorok t[2] tömbjében szerepel-e a ,,be,, szó. Ha igen akkor csak ezeket írja ki.
A másik gondom ez a dátum kezelés lenne. Azzal is tisztában vagyok, hogy a Calendar objektumot formázni kellene erre: hh:mm:ss, ezt a SimpleDateFormat-tal valósítottam meg, csak nem vagyok benne biztos, hogy működne-e.
Szoval ez lenne az én elméletem.
Köszönöm előre is a segítséget.:)