while (c>5){
if (myArray[a][b]>x && myArray[a][b]<y) System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Ieklaujas intervaalaa ");
else System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Neieklaujas intervaalaa "+x);
if (a>3) b=b+1;
if (a>3) a=0 ;
else a=a+1;
if (b>3) break;
}
我有一个包含4行和4列的数组,我无法在列之间切换(b始终保持为0)。
答案 0 :(得分:0)
while (c > 5) {
if (myArray[a][b]>x && myArray[a][b]<y) {
System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Ieklaujas intervaalaa ");
} else {
System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Neieklaujas intervaalaa "+x);
}
if (a>3) {
b=b+1;
}
if (a>3) {
a=0 ;
} else {
a=a+1;
}
if (b>3) {
break;
}
}
添加花括号可能改变了程序的逻辑,但它确实使它更具可读性。现在我们可以看到它写得更好
while (c > 5) {
if (myArray[a][b]>x && myArray[a][b]<y) {
System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Ieklaujas intervaalaa ");
} else {
System.out.println("Skaitlis " +a+ ". rindaa " +b+ ". kollonaa Neieklaujas intervaalaa "+x);
}
if (a > 3) {
b = b+1;
a = 0 ;
} else {
a = a+1;
}
if (b > 3) {
break;
}
}
假设您开始a=0
和b=0
,很明显您将访问4x4数组的每个元素。
我强烈建议您使用两个嵌套的for
循环重写此内容。
答案 1 :(得分:0)
如果你的aray是4x4大小,你的代码应该抛出ArrayIndexOutOfBoundsException
因此会尝试访问myArray[4][0]
你应该改为这个;
if (a == 3) b=b+1;
if (a == 3) a=0 ;
else a=a+1;
if (b>3) break;