0

基本的に私は次のコードを持っています。問題は、if ステートメントの両方の条件が満たされた場合に「Pass」を 1 回だけ出力したいことです。int 'res' は、parts 配列内の 6 つの要素すべての平均です。したがって、すべての「パーツ」の値は少なくとも 40 である必要があり、「res」と呼ばれるこれらのパーツの平均も 40 を超える必要があります。現時点では、コードは「 「parts」配列と「res」の 6 つの要素すべてが 40 を超えているか等しい場合は、1 回だけ Pass を出力するようにします。

どんな助けでも感謝します!

for (int i = 0; i < 6; i++)
        {  
            if (res >= 40 && parts[i] >= 40)
            {
              System.out.println("Pass");
            }
        }
4

3 に答える 3

0

2つのこと:

1) 否定的なケースをチェックしているように見えます。40 未満の値が見つかった場合は、break「合格」と出力しないでください。各要素が 40 を超えており、res が 40 を超えている場合は、そうでないものが見つかるか、リストを終了するまで続行します。リスト全体を通過し、失敗しなかった場合は、「合格」と出力できることがわかります。

2) res は、提供したとおりにループ内で変化していません。ループ内で変更していて、これが単なるサンプル コードである場合は問題ありません。しかし、そうでない場合は、ループの外で一度だけチェックする必要があります。

boolean print = true;
for (int i = 0; i < 6; i++)
{  
    if (res < 40 | parts[i] < 40)
    {
      print = false;
      break;
    }
}
if(print)
 System.out.println("Pass");
于 2013-11-07T00:02:05.027 に答える
0

私があなたの質問を正しく理解しているなら、あなたは入れたいと思うでしょう

break;

印刷後

for (int i = 0; i < 6; i++)
{  
    if (res >= 40 && parts[i] >= 40)
    {
      System.out.println("Pass");
      break;
    }
}
于 2013-11-07T00:02:18.513 に答える
0

break;コンソールに出力した後、ステートメント for step out をループから使用できます。

Abreakは、あらゆる種類のループから抜け出すために使用されます。

while(true){
    //do stuff
    if(condition){
        break;
    }
}
于 2013-11-07T00:03:16.690 に答える