Zgodnie ze wskazówką @_13th_Dragon wklejam kod tutaj :)
public class Word {
String eng, pl;
public void setEng(String eng) {
this.eng = eng;
}
public void setPl(String pl) {
this.pl = pl;
}
public String getEng() {
return eng;
}
public String getPl() {
return pl;
}
}
public class Manage {
List<Word> word = new ArrayList<Word>();
int size;
List<Integer> correct = new ArrayList<Integer>();
int place;
public void loadWord(String name) throws FileNotFoundException {
File file = new File(name);
Scanner scanner = new Scanner(file);
int i = 0;
String line;
String[] part;
while (scanner.hasNextLine()) {
word.add(i, new Word());
line = scanner.nextLine();
part = line.split(";");
word.get(i).setEng(part[0]);
word.get(i).setPl(part[1]);
i++;
}
scanner.close();
size = word.size();
random();
}
private void random() {
Random rand = new Random();
place = rand.nextInt(size);
for (int i = 0; i < correct.size(); i++) {
if (place == correct.get(i))
random();
}
}
public String getPl() {
return word.get(place).getPl();
}
public boolean check(String txt) {
if (txt.equals(word.get(place).getEng())) {
correct.add(place);
random();
return true;
}
else {
random();
return false;
}
}
}
public class Slowka {
static Manage manage = new Manage();
private static void load(String txt) {
try {
manage.loadWord(txt + ".txt");
} catch(FileNotFoundException e) {
System.out.println("Nie znaleziono pliku!");
}
}
public static void main(String[] args) throws IOException {
String word;
Scanner scanner = new Scanner(System.in);
System.out.println("Podaj nazwe pliku ze slowkami");
load(scanner.nextLine());
do {
System.out.println(manage.getPl());
word = scanner.nextLine();
if (manage.check(word))
System.out.println("\n\nBrawo!\n\n");
else
System.out.println("\n\nBuuu...\n\n");
} while (manage.correct.size() != manage.size);
scanner.close();
}
}
@bogdans dziękuję ci za wskazówkę! Zmieniłem do...while na while, przez co załatwiłem problem pustego pliku. Jednak nie mam pomysłu jak najlepiej sprawdzać średnik. Jedyne co przychodzi mi do głowy to sprawdzanie w pętli całej linii i szukanie ';'.
Dziękuję wszystkim za uwagi i poświęcony czas! :D
Pozdrawiam.