好的,我之前发布过一次,但是由于没有表现出基本的理解而被锁定,并且在锁定之前我得到的答案对我没有帮助。我处于 Java 的超级初学者水平,这就是我想要我的程序做的事情(将在最后发布代码)。我希望用户输入他们想要的任何内容。然后,如果它不是数字,我希望它显示他们需要输入数字。然后,在他们输入一个数字后,我希望它显示该数字是偶数还是奇数。我阅读了有关 parseInt 和 parseDouble 的信息,但我不知道如何让它按我想要的方式工作。如果解析是我想要做的,我不再确定。我不想立即将其转换为数字,只是为了检查它是否是数字。然后我可以在程序确定它是字符还是数字后继续做事情。
好的,我更改了一些东西并使用了很多来自 no_answer_not_upvoted 的代码。这就是我现在所拥有的。它运行良好,可以使用说明中指定的负整数和正整数。毕竟,唯一让我烦恼的是,我在 Eclipse 底部的编译框中得到了这个错误。该程序按预期执行并适当停止,但我不明白为什么会出现此错误。
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1585)
at monty.firsttry2.main(firsttry2.java:21)
public static void main(String[] args) {
System.out.print("Enter a character or number. This program will run until you enter a whole number, then it will"
+ "tell you if it was even or odd.");
while (true) {
Scanner in=new Scanner(System.in);
int num;
while(true) {
String input=in.nextLine();
try {
num=Integer.parseInt(input);
break;
}
catch (NumberFormatException e) {System.out.print("That wasn't a whole number. Program continuing.");}
}
if (num==0) {System.out.print("Your number is zero, so not really even or odd?");}
else if (num%2!=0){System.out.print("Your number is odd.");}
else {System.out.print("Your number is even");}
in.close();
}
} }