Hallo ihr Lieben,
Ich habe folgendes Problem.
Ich möchte aus einer txt-Datei die Fragen einlesen. Die Fragen und antworten sind mit einem ; getrennt.
Also: Frage;richtige Antwort;Antwort2;Antwort3;Antwort4;Schwierigkeit (schwierigkeit ist eine Zahl von 1-4)
Das einlesen habe ich bis jetzt so gelöst, siehe unten.
Ich würde jetzt gerne, dass eine Frage zufällig aus dem Schwierigkeitsbereich 1 genommen wird und sich die Antwortmöglichkeiten mischen.
Es wäre sonst langweilig, wenn man immer "A" wählt und gewinnt.
Es müsste zusätzlich einen Counter geben der immer mitzählt um somit anzuzeigen, wieviel man gewonnen hat bis jetzt.
Ich stehe dezent auf dem Schlauch :/
[CODE lang="java" title="Fragen einlesen"]import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class FragenEinlesen {
public static void main(String[]args) throws IOException
{
Scanner s = new Scanner(new File("fragenliste.txt"));
ArrayList<String> fragenliste = new ArrayList<String>();
while (s.hasNextLine()){
fragenliste.add(s.nextLine());
}
s.close();
ArrayList<String> frage = new ArrayList<>();
String rAntwort;
String antwort2;
String antwort3;
String antwort4;
ArrayList<String> ausdruck = new ArrayList<>();
String ausgelost;
ausgelost = fragenliste.get(0);
try (BufferedReader br = new BufferedReader(new FileReader("fragenliste.txt")))
{
String line;
while ((line = br.readLine()) != null)
{
String dataEachLine[] = line.split(";");
frage.add(dataEachLine[0]);
rAntwort=(dataEachLine[1]);
antwort2=(dataEachLine[2]);
antwort3=(dataEachLine[3]);
antwort4=(dataEachLine[4]);
ausdruck.add(rAntwort);
ausdruck.add(antwort2);
ausdruck.add(antwort3);
ausdruck.add(antwort4);
System.out.println(frage);
}
}
ArrayList<String> ausdruck2 = new ArrayList<>();
ausdruck2 = ausdruck;
Collections.shuffle(ausdruck);
System.out.println(ausdruck);
}
}[/CODE]
Ich habe folgendes Problem.
Ich möchte aus einer txt-Datei die Fragen einlesen. Die Fragen und antworten sind mit einem ; getrennt.
Also: Frage;richtige Antwort;Antwort2;Antwort3;Antwort4;Schwierigkeit (schwierigkeit ist eine Zahl von 1-4)
Das einlesen habe ich bis jetzt so gelöst, siehe unten.
Ich würde jetzt gerne, dass eine Frage zufällig aus dem Schwierigkeitsbereich 1 genommen wird und sich die Antwortmöglichkeiten mischen.
Es wäre sonst langweilig, wenn man immer "A" wählt und gewinnt.
Es müsste zusätzlich einen Counter geben der immer mitzählt um somit anzuzeigen, wieviel man gewonnen hat bis jetzt.
Ich stehe dezent auf dem Schlauch :/
[CODE lang="java" title="Fragen einlesen"]import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class FragenEinlesen {
public static void main(String[]args) throws IOException
{
Scanner s = new Scanner(new File("fragenliste.txt"));
ArrayList<String> fragenliste = new ArrayList<String>();
while (s.hasNextLine()){
fragenliste.add(s.nextLine());
}
s.close();
ArrayList<String> frage = new ArrayList<>();
String rAntwort;
String antwort2;
String antwort3;
String antwort4;
ArrayList<String> ausdruck = new ArrayList<>();
String ausgelost;
ausgelost = fragenliste.get(0);
try (BufferedReader br = new BufferedReader(new FileReader("fragenliste.txt")))
{
String line;
while ((line = br.readLine()) != null)
{
String dataEachLine[] = line.split(";");
frage.add(dataEachLine[0]);
rAntwort=(dataEachLine[1]);
antwort2=(dataEachLine[2]);
antwort3=(dataEachLine[3]);
antwort4=(dataEachLine[4]);
ausdruck.add(rAntwort);
ausdruck.add(antwort2);
ausdruck.add(antwort3);
ausdruck.add(antwort4);
System.out.println(frage);
}
}
ArrayList<String> ausdruck2 = new ArrayList<>();
ausdruck2 = ausdruck;
Collections.shuffle(ausdruck);
System.out.println(ausdruck);
}
}[/CODE]