0

他の同様の質問を見たことがありますが、問題の解決策が見つかりませんでした。

2つの数字をスキャンして合計しようとしているだけです:

Scanner input = new Scanner(System.in);
int number1;
int number2;
int sum;

System.out.print("First: ");
number1 = input.nextInt();
System.out.println("Second: ");
number2 = input.nextInt();

sum = number1 + number2;

System.out.println("The sum is " + sum);

最初のものはきれいに印刷され、次回はIMEでクラッシュします...何が間違っていますか?

4

2 に答える 2

0

この質問は、ずっと前に私を含め、ここで何度も聞かれました。

を使用するscn.nextInt()と、入力を待機するため、後ですべての入力に影響します。

この問題を解決するには 2 つの方法があります。

  1. ; の後にa を配置scn.nextLine()しますscn.nextInt()

    System.out.print("First: ");
    number1 = input.nextInt(); input.nextLine();
    System.out.println("Second: ");
    number2 = input.nextInt(); input.nextLine();
    
  2. として受信しString、整数に解析します(私はこの方法を好みます)

    System.out.print("First: ");
    number1 = Integer.parseInt(input.nextLine());
    System.out.println("Second: ");
    number2 = Integer.parseInt(input.nextLine());
    

でいくつかの経験がある場合はC#、2番目の方法でも行うことを期待しています。

于 2015-04-16T12:23:24.110 に答える