当在for循环中满足if语句中的条件时,如何打印一个结果?

时间:2013-11-06 23:58:20

标签: arrays if-statement for-loop return output

基本上我有以下代码。问题是如果满足if语句中的两个条件,我只想打印一次“Pass”。 int'res'是parts数组中所有6个元素的平均值。因此,所有“部件”必须具有至少40的值,并且这些部件的平均值(称为“res”)也必须高于40.此时,代码显然为“6”的每个元件输出Pass。如果它们超过40,则表示“数组”。如果“parts”数组和“res”的所有六个元素都超过或等于40,我希望这只输出一次Pass。

感谢任何帮助!

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

3 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

如果我正确理解你的问题,你会想要

break;

之后的println

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

答案 2 :(得分:0)

打印到控制台后,您可以使用break;语句跳出循环。

break用于逐步退出任何类型的循环。

while(true){
    //do stuff
    if(condition){
        break;
    }
}