当前位置: 首页 > 知识库问答 >
问题:

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

公孙森
2023-03-14

我试图在java中创建一个程序,从使用扫描仪的用户那里得到一个答案,然后这个结果应该与一个数组列表进行比较,即一个多项选择题,然后打印出一个字符串。我可以得到数组列表中的值与值进行比较并打印,但是当输入扫描仪答案时什么也不会发生。

干杯

'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个答案

赫连靖琪
2023-03-14

添加答案。next()从键盘获取输入!您只是在初始化,但没有提供引用。

车峻熙
2023-03-14

对于一个局部不可访问变量,setter和getter有什么意义?

正如James提到的,您需要通过调用. nextLine()来读取带有Scanner对象的输入字符串,而不仅仅是将整个扫描仪对象与目标进行比较。接下来,您需要将==替换为. equals(答案Array.get(0)),它就会工作

斜高翰
2023-03-14

实例化扫描器只会准备扫描器对象。你需要打电话回答。readLine()并将其存储在字符串变量中。

然后,您需要循环遍历数组列表,并将其与扫描仪中存储的值进行比较。

 类似资料:
  • 问题内容: 我正在尝试让扫描仪在循环中进行输入。一旦用户想要完成操作,他就可以退出此循环。我尝试了许多不同的方法来执行此操作,但始终存在一些问题。这是代码: 上面代码的问题(在我尝试的其他方法上也会发生)是,当用户键入 Y时 ,将跳过名字的第一个输入,并跳转到姓氏。如果用户键入 N, 则循环将正确停止。有人可以解释发生这种情况的原因,以及如何克服使用课堂的问题? ps:执行类似的操作,将导致循环终

  • 我想从标准输入中读取一个双数,但是我总是得到这个异常: Java . util . inputmismatchexception 如果输入是整数,那没问题,但是如果是双精度的,我会得到异常。 线程“main”Java . util . inputmismatchexception Java . util . scanner . throw for(scanner . Java:864)Java .

  • 问题内容: 我正在使用扫描仪逐行读取文本文件,但是由于扫描仪遍历每个输入,因此如何获取行号?我的程序是这样的: 这很好用,但是例如: 我想知道它的行号,这意味着1,2,3在第1行中,而3,4,5在第2行中。我如何得到它? 问题答案: 在扫描程序执行操作时,您可以使用代替来跟踪行号。 注意: 由于扫描程序会先读取当前令牌,因此我最初发布的“明显”解决方案不起作用。 ~~~~

  • 问题内容: 编辑 以便进一步阅读:问题是我的输入文件已损坏。 我不明白我在做什么错: 我正在使用此代码: 哪个工作正常。现在,由于某种原因,我想换一个扫描仪。我的代码变成: 这次,我们从不输入while,因为r.hasNextLine()始终返回“ false”。关于我在做什么错的任何想法吗? 我精确地说,没有其他更改,文件仍然相同。 编辑 :我还精确地我尝试了另一个文件,并得到相同的结果,这意味

  • 位于java.util.scanner.throwfor(未知源)位于java.util.scanner.next(未知源)的线程“main”java.util.NoSuchelementException中出现异常**** 我多次调用s(扫描器),在第二次调用时出现运行时错误。这是由于关闭扫描仪,并可能再次使用它。我的问题是,每次使用Scanner时,我都会创建一个新的Scanner实例,那么为

  • 我是java新手,所以如果我犯了一个非常简单的错误,请原谅我。我正在尝试在基于文本的冒险游戏中购物。我创建了一个数组,它将物品列表存储为商店可以出售的字符串。这是我用于用户在游戏中进行购买的方法的一部分。 我试图将扫描仪输入与shopItems进行比较,以检查用户想要购买的商品是否在商店中可用,但它无法识别shopItems中的任何元素。我用这种方法有什么不对吗/哪里有错吗?这是我在这里的第一个帖