我有以下代码,以获取数组中的最高和最低值,然后在七行中打印出所有值:

int hochstes;
int niedrig;
        int q = 0;
        for(int i = 1; i <= 49; i++){
           if(hochstes == null){
               hochstes = array[i];
               niedrig = hochstes;
            }
           if(array[i] > hochstes){
               hochstes = array[i];
            }
           if(array[i] < niedrig){
               niedrig = array[i];
           }

           q++;
           if(q == 7){
               q = 0;
               System.out.println("");
            }else{
              String a = (i < 10) ? " " + i : "" + i;
              System.out.print(a + ": " + array[i] + "  ");
           }

        }


在第4行中,我试图检查hochstes是否具有值,如果没有,我将数组的first(“ second”)值赋给它!当然,将hochstesnull进行比较是行不通的,谢谢!

最佳答案

由于原始类型不能为null,因此您必须以另一种方式查看它。

最简单的解决方案是在循环外简单地为其分配第一个可能的值,然后从第二个值继续进行循环。

例如。:

int hochstes = array[0];

// Loop from 1 to higher


正如彼得·劳瑞(Peter Lawrey)正确指出的那样:您将从索引1开始迭代。索引1与第一个索引不同,请记住这一点。许多(如果不是全部)数据结构都是基于零的,这意味着它们始于0,而不是1。这就是为什么您看到我分配array[0]以获得第一个值的原因。

10-02 08:01