我有以下代码,以获取数组中的最高和最低值,然后在七行中打印出所有值:
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”)值赋给它!当然,将hochstes
与null
进行比较是行不通的,谢谢! 最佳答案
由于原始类型不能为null
,因此您必须以另一种方式查看它。
最简单的解决方案是在循环外简单地为其分配第一个可能的值,然后从第二个值继续进行循环。
例如。:
int hochstes = array[0];
// Loop from 1 to higher
正如彼得·劳瑞(Peter Lawrey)正确指出的那样:您将从索引1开始迭代。索引1与第一个索引不同,请记住这一点。许多(如果不是全部)数据结构都是基于零的,这意味着它们始于
0
,而不是1
。这就是为什么您看到我分配array[0]
以获得第一个值的原因。