Java 使用扫描仪从用户处获取答案,然后将结果与arraylist进行比较。
我正试图用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
'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的回答相结合,将其排序。干杯,帮助很大。