1

このプログラムを実行する方法についてアドバイスが必要です。ユーザー入力(ダブルフォーマットの数値)のプログラムを作成することはできましたが、「重大」または「通常」の場合、Enterキーを押すと同時にすべての値を評価するにはどうすればよいでしょうか。

私が入ったとします

 2.2
 3.7
 3.9

出力は次のようになります

 normal
 severe
 severe

ここに私のコードがあります

 Scanner dd = new Scanner(System.in);
 double[] vars = new double[3];

 for (int i = 0; i < vars.length; i++) {
 vars[i] = dd.nextDouble();
 if (vars[i] <3){
        System.out.println("normal");
      } 
 else if (vars[i] < 4){
   System.out.println("severe");

 }
 }

これの出力はこのようなものです

2.2
normal
3.7
severe
3.9
severe
BUILD SUCCESSFUL (total time: 13 seconds)
4

5 に答える 5

0

一度に値を尋ねていると同時に、それをチェックして印刷していますが、できることはすべての値を同時に尋ね、配列に保存してからチェックすることができます。

于 2013-09-09T06:46:14.927 に答える
0

これはあなたのために働くでしょう

    Scanner dd = new Scanner(System.in);
    System.out.println("Enter your 3 values: \n");
    double[] vars = new double[3];

    for (int i = 0; i < vars.length; i++) {
        vars[i] = dd.nextDouble();
    }
    for (int i = 0; i < vars.length; i++) {
        if (vars[i] < 3) {
            System.out.println("normal");
        } else if (vars[i] < 4) {
            System.out.println("severe");
        }
    }

あなたの入力のための出力。

    normal
    severe
    severe
于 2013-09-09T07:00:09.897 に答える
0

印刷ロジックを別のループに移動し、すべてが読み取られた後に実行するだけです。

    Scanner dd = new Scanner(System.in);
    double[] vars = new double[3];

    for (int i = 0; i < vars.length; i++) {
        vars[i] = dd.nextDouble();
    }

    for (int i = 0; i < vars.length; i++) {
        if (vars[i] < 3) {
            System.out.println("normal");
        } else if (vars[i] < 4) {
            System.out.println("severe");
        }
    }
于 2013-09-09T06:44:51.983 に答える
0

これはあなたが望むものですか:

for (int i = 0; i < vars.length; i++) {
 vars[i] = dd.nextDouble();
}

for (int i = 0; i < vars.length; i++) {
    if (vars[i] <3){
        System.out.println("normal");
    } 
    else if (vars[i] < 4){
        System.out.println("severe");
    }
}
于 2013-09-09T06:45:41.393 に答える