わかりました、以前に投稿しましたが、基本的な理解を示していないためにロックされており、ロックされる前に得た回答は役に立ちませんでした。私は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();
}
} }