我对编码很陌生,而且我理解如何在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();
}
不确定为何将此标记为重复。我觉得人们不会读完整件事,喜欢假设这一点。这不是一个简单的字符串混乱(这是错误的一部分),但这里有一个更大的问题,我相信它是扫描仪