找到一个数组的最小数量?

时间:2014-05-23 20:02:50

标签: arrays

所以我正在编写一个程序,你写了10个标记,它会告诉你最大值和最小值。

我对最小值有问题,因为最大值有效。

我的问题是,它显示的是输入的第一个标记,而不是最差标记。

这是使用Jcreator(Java)

   public void worstEnglish() {
        System.out.println("The Worst English Mark Is");
        //Array
        int worstEnglish = english[0];
        //Method
        for (int i = 0; i < english.length; i++) {
            if (english[i] < worstEnglish) {
                english[i] = worstEnglish;
            }//End Of If
        }//End of loop
    }

3 个答案:

答案 0 :(得分:4)

您要将worstEnglish变量的值分配给english数组而不是相反的方式

if(english[i] < worstEnglish){
    worstEnglish = english[i];
}

答案 1 :(得分:2)

 worstEnglish = english[i];

交换作业。现在你没有更新worstEnglish变量。

public void worstEnglish() {
System.out.println("The Worst English Mark Is");
//Array
int worstEnglish = english[0];
//Method
for (int i=0; i<english.length; i++){
if(english[i] < worstEnglish){
  worstEnglish = english[i];
}//End Of If
}//End of loop

答案 2 :(得分:0)

您是否尝试过使用Collections.min()Collections.max()进行简化,而不是对数组进行迭代?

由于您已将最差的英语数组键入为Int,我假设它们是数组中的整数值。

我想象它只是worstEnglish = Collection.min(english);

请参阅此示例:Finding the max/min value in an array of primitives using Java