/ *我用数组的初始值取两个变量,这样我们就可以比较最大和最小的数字。然后循环检查每个数字的数组与默认的一个更大和更小,如果没有那么将被替换,但为什么我的答案出错了? * /
class twod {
public static void main(String ...NR){
int a[][] = {{11,21,31},{9,22,23}};
int maximum = a[0][0];
int minimum = a[0][0];
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length;j++){
if(a[i][j]>maximum){
maximum = a[i][j];
}
else if(a[i][j]<minimum){
minimum = a[i][j];
}
}
}
System.out.println("Largest no is " + maximum);
System.out.println("Smallest no is " + minimum);
}
}
答案 0 :(得分:0)
您的内部循环仅通过j
(i
)的有效值循环j<a.length
,该值为0-1,而不是0-2。
循环遍历a[i]
数组的有效索引值,而不是a
数组的有效索引值。变化
for(int j=0;j<a.length;j++){
到
for(int j=0;j<a[i].length;j++){
答案 1 :(得分:0)
在您的代码for(int j=0;j<a.length;j++)
中a.length = 2
。所以它没有检查下一个数字。
将其更改为for(int j=0;j<a[i].length;j++)
,然后就可以了。