0

int 'res' 是parts 数组中所有6 个元素的平均值。我让它工作,以便在以下情况下显示“通过”:
1)平均值(Res)大于或等于 60。2
)数组“部分”的所有元素必须大于或等于 55。

3 )我还需要仅在数组中 6 个元素中有 4 个小于 60 但至少为 55 时才打印“通过”。

任何有关实施第三步的帮助将不胜感激!非常感谢。

boolean output1 = true;
for (int i = 0; i < 6; i++)
 {
     if (parts[i] < 55 || res < 60)
        {
            output1 = false;
            break;
        }
 }
    if (output1)
    System.out.println("Pass");
4

1 回答 1

0

最简单的方法是计算符合该条件的成员。

boolean output1 = true;
int counter = 0;
for (int i = 0; i < 6; i++)
{
 if(parts[i] < 55 || res < 60)
 {
  output1 = false;
  break;
 }
 if(parts[i] >= 55 && parts[i] < 60)
  ++counter;
}
if(output1 && counter >= 4)
 System.out.println("Pass");

如果无法满足条件,您也可以中断 for 循环(即您在第三个元素上,但仍然没有任何大于 54 且小于 60 的元素)

boolean output1 = true;
int counter = 0;
for (int i = 0; i < 6; i++)
{
 if(parts[i] < 55 || res < 60)
 {
  output1 = false;
  break;
 }
 if(parts[i] >= 55 && parts[i] < 60)
  ++counter;
 if(i - counter > 2) //more than 2 did not match already
 {
  output1 = false;
  break;
 }
}
if(output1)
 System.out.println("Pass");
于 2013-11-07T01:44:18.137 回答