做java中的while循环不起作用

时间:2017-10-22 10:26:39

标签: java input do-while

我对编码很陌生,而且我理解如何在C ++中做一个是或否的回答。但是java让我很难过。在运行之前,此代码不会给我任何错误。当它询问是或否答案时,它会说:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Unknown Source)
    at java.util.Scanner.next(Unknown Source)
    at midterm.main(midterm.java:40)

第40行是:

ans = s.next();

也许我在使用String做错了,我尝试了char但是也没有运气。这是我的代码:

public class midterm 
{
    public static void main(String[] args)
    {

    Scanner s = new Scanner(System.in);

    String ans;
    do
    {

    System.out.println("Welcome to the Menu!\nA)Guessing Game\nB)Calculator\n"
            + "\nEnter Letter: ");
    String letter = s.next();
    s.nextLine();

    if ((letter.equals("A")) || (letter.equals("a")))
    {
        guessingGame();
    }

    else 
    {
        calcDecide();
    }

    System.out.println("\nWould you like to go back to the menu or exit?\n"
            + "Press 'Y' yes or 'E' for exit: ");
    ans = s.next();
    s.nextLine();

    }while (ans == "y" || ans == "y");

    s.close();

}

不确定为何将此标记为重复。我觉得人们不会读完整件事,喜欢假设这一点。这不是一个简单的字符串混乱(这是错误的一部分),但这里有一个更大的问题,我相信它是扫描仪

0 个答案:

没有答案