使用扫描仪从用户那里得到答案,然后将结果与arraylist进行比较。

时间:2013-11-16 22:26:47

标签: java arrays arraylist

我正在尝试在java中创建一个程序,以便使用扫描仪从用户那里得到答案,然后将该结果与数字的arraylist进行比较,即多选题,然后打印出一个字符串。我可以将arraylist中的值与值和打印进行比较,但是当输入扫描仪时,没有任何反应。

欢呼

'public static void main (String [] args){
    ArrayList<String> answersArray = new ArrayList<String>();
    answersArray.add("4");
    answersArray.add("5");
    answersArray.add("10");
    answersArray.add("20");

    System.out.println("Please select the answer from the list below\n" + answersArray);

    Scanner answer = new Scanner(System.in);
    String value = ExamQuestionSimpleChoice.answer;

    if   ( value == (answersArray.get(0))){
    System.out.println("This answer is correct, you gained:  "  );
    }
    }

    public static String getValue() {
    return value;
}
public static void setValue(String value) {
    ExamQuestionSimpleChoice.value = value;
}`

3 个答案:

答案 0 :(得分:0)

实例化扫描仪只会准备扫描仪对象。您需要调用answer.readLine()并将其存储在字符串变量中。

然后你需要遍历arraylist并将其与你从扫描仪存储的值进行比较。

答案 1 :(得分:0)

本地无法访问的变量的setter和getter有什么意义?

正如James所说,你需要通过调用.nextLine()来读取带有Scanner对象的输入字符串,而不仅仅是将整个扫描器对象与目标进行比较。接下来,您需要将==替换为.equals(answersArray.get(0)),它才能正常工作

答案 2 :(得分:0)

添加answer.next()以从键盘输入!您只是初始化但未提供参考。