3

スキャナ ユーティリティに関する基本的な Java の質問があります。ユーザー入力を受け取り、それを変数に格納する単純なプログラムがあるとします。私の質問は、複数の入力を要求するプログラムを実行すると、カーソルは質問の後ではなく、質問の最初から始まります。私のコードは次のとおりです。

public class question3 {

    public static void main(String[] args){

       Scanner s = new Scanner(System.in);
       System.out.println("Enter the first number:");
       Float a = s.nextFloat();
       System.out.println("Enter the second number:");
       Float b = s.nextFloat();
       System.out.println("Sum = " + (a+b));
       System.out.println("Difference = " + (a-b));
       System.out.println("Product = " + (a*b));


       }
}

このプログラムを実行すると、最初の番号を入力してから番号を入力し、次に |2 番目の番号を入力するように表示されます。"|" 点滅しているカーソルがどこにあるかを意味します。入力すると下に表示されますが、ユーザーを混乱させる可能性があるため、解決策は何だろうと思っていました.

ここに画像の説明を入力

コードには他に何も問題がないため、これは IDE の問題です。

4

3 に答える 3

2

System.out.println は文字列を出力してから新しい行を出力するため、入力は新しい行に配置されます。読み上げてみてください

System.out.print("Enter the first number:");
Float a = s.nextFloat();
System.out.println();
System.out.print("Enter the second number:");
Float b = s.nextFloat();
System.out.println();
于 2013-09-12T03:32:51.060 に答える
2

各入力の前ではなく、println(String)に変更しprint(String)ます。したがって、次のようになります。

public class question3{

    public static void main(String[] args){

        Scanner s = new Scanner(System.in);
        System.out.print("Enter the first number:");
        Float a = s.nextFloat();
        System.out.print("Enter the second number:");
        Float b = s.nextFloat();
        System.out.println("Sum = " + (a+b));
        System.out.println("Difference = " + (a-b));
        System.out.println("Product = " + (a*b));


    }
}

また、変数には適切な命名規則を使用する必要があります。の場合と同様に、または;Scannerと呼ぶ必要があります。その機能を表すもの。同じ考え方が残りの変数にも当てはまります。また、クラス名は大文字で始まります。readerinput

完成した結果は次のようになります。

ここに画像の説明を入力

于 2013-09-12T03:31:29.320 に答える
1

これにより、数行入力するだけで数秒節約できます。

System.out.print("Enter the first number:");
Float a = s.nextFloat();
System.out.print("\nEnter the second number:");
Float b = s.nextFloat();
System.out.println("\nSum = " + (a+b)
                   +"\nDifference = " + (a-b)
                   +"\nProduct = " + (a*b));
于 2013-09-12T03:39:30.900 に答える