2010-12-29 5 views
0

Я хотел бы задать вопрос случайным образом, и когда я даю ответ для сравнения, если они правильные ответы или нет? Может ли кто-нибудь мне немного помочь?java random array

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Random;

public class Main {

public static void main(String[] args) { String[] aa = { "question aa" }; String[] bb = { "question bb"}; String[] cc = { "question cc"}; String[] dd = { "question dd"}; String[] e = { "answer to question aa" }; String[] f = { "answer to question bb"}; String[] g = { "answer to question cc"}; String[] h = { "answer to question dd"}; // should be here the random question System.out.print("Enter your answer: "); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String userAnswer = null; try { userAnswer = br.readLine(); } catch (IOException ioe) { System.out.println("IO error trying to read your answer!"); System.exit(1); } System.out.println("Thanks for the answer, " + userAnswer);

}

ответ

3
class QuestionAnswer{ 
String q; 
String a; 
//getters/setters and const. 
} 

Создание DS, как ваш набор Вопрос меньше и желательно держать в памяти

List<QuestionAnswer> lst = new ArrayList<QuestionAnswer>(); 
lst.add(new QuestionAnswer("Question1","Answer1")); 
lst.add(new QuestionAnswer("Question2","Answer2")); 
lst.add(new QuestionAnswer("Question3","Answer3")); 

Разработай побежал дом целым числом от 0 до list.size()

Random r = new Random(); 
int index = r.nextInt(lst.size()); 

Fetch вопрос и распечатать его и принять пользователя; s ответ

System.out.println(lst.get(index).getQ()); 
Scanner in = new Scanner(System.in); 
// Reads a single line from the console 
String answer = in.nextLine(); 

Сравнить ответ пользователя со списком

if(answer.equalsIgnoreCase(lst.get(index).getA())){ 
    System.out.println("You are correct. !!"); 
} 
+0

life.java, я получаю вашу идею. Но я не совсем уверен, что вопрос «3 выборки» достаточно ясен для ОП. Все, что у него есть, это случайный номер, как он должен выяснить, как получить элемент «Карты», используя этот номер, и это его вопрос - первое место ... Я чувствую, что вам следует подробно остановиться на этом. Мои 2 цента. – st0le

+0

@ st0le Спасибо, я понял, что это было не так полезно раньше, пожалуйста, проверьте сейчас –

+0

life.java, Это намного лучше. +1 :) – st0le

0
  • Сохранять вопросы в задаче array questi on [] [] = {aa, bb ...};
  • Сохранять ответы в ответах массивов массивов [] [] = {e, f ...};
  • генерировать случайные числа между 0 и questions.length
  • вопросы [случайный] и ответы [случайных] должны соответствовать

    String[] aa = { "question aa" }; 
    String[] bb = { "question bb" }; 
    String[] cc = { "question cc" }; 
    String[] dd = { "question dd" }; 
    
    
    String[][] questions = { aa, bb, cc, dd }; 
    
    
    String[] e = { "answer to question aa" }; 
    String[] f = { "answer to question bb" }; 
    String[] g = { "answer to question cc" }; 
    String[] h = { "answer to question dd" }; 
    
    
    String[][] answers = { e, f, g, h }; 
    
    
    int min = 0; 
    int max = 5; 
    int random= 0; 
    
    
    random = min + (int) (Math.random() * max); 
    
    
    questions[random]; 
    answers[random]; 
    
+0

что вы подразумеваете под этой частью, извините, я не понимаю его вопросов [случайный]; ответы [random]; – user557039

+0

как я могу соответствовать правильному ответу с вопросом, как только я положил его случайно? – user557039

+0

случайный будет в диапазоне [0,5], поэтому, если random = 0, вопрос [0] ответ будет отвечать [0]. то вы можете ответить на вопрос [0], и пользователь даст ответ, и вы соответствуете ему с ответами [0]. –