Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用扫描仪从用户处获取答案,然后将结果与arraylist进行比较。_Java_Arrays_Arraylist - Fatal编程技术网

Java 使用扫描仪从用户处获取答案,然后将结果与arraylist进行比较。

Java 使用扫描仪从用户处获取答案,然后将结果与arraylist进行比较。,java,arrays,arraylist,Java,Arrays,Arraylist,我正试图用java创建一个程序,使用扫描仪从用户那里获得答案,然后将结果与数字数组列表(即多项选择题)进行比较,然后打印出一个字符串。我可以在arraylist中获取值,与值进行比较并打印,但在输入扫描仪应答时,什么也没有发生 干杯 'public static void main (String [] args){ ArrayList<String> answersArray = new ArrayList<String>(); answersArray

我正试图用java创建一个程序,使用扫描仪从用户那里获得答案,然后将结果与数字数组列表(即多项选择题)进行比较,然后打印出一个字符串。我可以在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;
}`
'publicstaticvoidmain(字符串[]args){
ArrayList answersArray=新的ArrayList();
答复补充(“4”);
答复补充(“5”);
答复补充(“10”);
答复补充(“20”);
System.out.println(“请从下面的列表中选择答案”+answersArray);
扫描仪应答=新扫描仪(System.in);
字符串值=ExamQuestionSimpleChoice.answer;
if(value==(answersArray.get(0))){
System.out.println(“这个答案是正确的,您得到:”);
}
}
公共静态字符串getValue(){
返回值;
}
公共静态void setValue(字符串值){
ExamQuestionSimpleChoice.value=值;
}`

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


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

对于本地不可访问变量,setter和getter的作用是什么


正如James所提到的,您需要通过调用
.nextLine()
读取带有Scanner对象的输入字符串,而不仅仅是将整个Scanner对象与目标进行比较。接下来,您需要将
==
替换为
.equals(answersArray.get(0))
,然后添加answer.Next()从键盘获取输入!您只是在初始化,但没有提供参考。

可能重复的感谢信息与Kamyar的回答相结合,将其排序。干杯,帮助很大。