私はユーザーに2つの数字を尋ねます。私はそれらの入力が実際に数値であるかどうかをチェックしたいが、最初の入力が文字列であれば、これまでのコードでは2番目の値を入力できません。スキャナはelse文で入力を読み取っていません
したがって、スキャナはelse文を読み取ることはありません。
どうすればいいですか?
import java.util.Scanner;
public class calculations {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
System.out.print("Please enter your first name: ");
String fname = console.nextLine();
System.out.print("Please enter your last name: ");
String lname = console.nextLine();
System.out.print("Please enter your first number: ");
if (console.hasNextInt()) {
int number1 = console.nextInt();
System.out.print("Please enter your second number: ");
if (console.hasNextInt()) {
int number2 = console.nextInt();
}
} else
System.out.print("Please enter your second number: ");
if (console.hasNextInt()) {
int number2 = console.nextInt();
// this part does not work
}
}
}
あなたの 'else'ブロックにはprintステートメントだけが含まれています。 –
前のコメントに加えて、{else}条件を '{}'ブロックに入れることは助けになります。 – Eugene
私はすでにそれを試みました。残念ながらそれは助けにはならない。他のアイデア? – kiaora