Mam mały problem. Piszę program do tworzenia prostych quizów. To jest dopiero początek. Problem tkwi w losowaniu kolejności odpowiedzi. Wiem że to jest banalny problem ale nie mam pomysłów.
OPIS TEGO CO MA SIĘ DZIAĆ:
-losowanie liczb od 1 do 3
-liczby nie mają się powtarzać
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Quiz {
ArrayList<String> stringList = new ArrayList<String>();
boolean kontynuuj = true;
String[] wynik = null;
public int losowanie(int k, int n)
{
int[] wylosowane = new int[k];
ArrayList<Integer> integerList = new ArrayList<Integer>(n);
Random rand = new Random();
for(int i=1;i<=n;i++)
{
integerList.add(i);
}
int counter=n;
for(int i=0;i<k;i++)
{
int index = rand.nextInt(counter);
wylosowane[i] = integerList.get(index);
integerList.remove(index);
counter--;
System.out.println(index);
}
// PROBLEM
int z = 0;
for(int i=0;i<=3;i++)
z = wylosowane[i];
return z;
}
public void wypisz_opd() {
System.out.println("A: \t" +wynik[losowanie(3,3)]);
System.out.println("B: \t" +wynik[losowanie(3,3)]);
System.out.println("C: \t" +wynik[losowanie(3,3)]);
}
public void splituj() {
for (;;) {
Random rand = new Random();
String wzięte = stringList.get(rand.nextInt(stringList.size()));
wynik = wzięte.split("//");
System.out.println(wynik[0]);
Scanner skaner = new Scanner(System.in);
System.out.println("Podaj odpowiedź:");
wypisz_opd();
String odp = skaner.nextLine();
if (odp.equals("a") || odp.equals("A")) {
System.out.println("ODP A");
}
else if (odp.equals("b") || odp.equals("B")) {
System.out.println("ODP B");
}
else if (odp.equals("c") || odp == "C") {
System.out.println("ODP C");
} else {
System.out.println("Zła opcja !!!");
}
}
}
public void getfile() throws FileNotFoundException {
try {
File mójPlik = new File("C:/Users/PP/Desktop/ala.txt");
FileReader czytelnikF = new FileReader(mójPlik);
BufferedReader czytelnik = new BufferedReader(czytelnikF);
String wiersz = null;
while ((wiersz = czytelnik.readLine()) != null) {
stringList.add(wiersz);
}
czytelnik.close();
} catch (Exception e) {
e.printStackTrace();
}
splituj();
}
public static void main(String[] args) throws FileNotFoundException {
Quiz quiz = new Quiz();
quiz.getfile();
// try {
// File mójPlik = new File("C:/Users/PP/Desktop/ala.txt");
// FileReader czytelnikF = new FileReader(mójPlik);
// BufferedReader czytelnik = new BufferedReader(czytelnikF);
//
// String wiersz = null;
//
// while ((wiersz = czytelnik.readLine()) != null) {
// stringList.add(wiersz);
// }
// czytelnik.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
// splituj();
}
}
Z góry dziękuję :).