package masivi;
import java.util.Scanner;
public class Masivi {
public static void main (String args[]){
int atzimes[][]={{50,60,55,67,73},
{62,65,71,70,81},
{72,66,77,80,69}};
int a = 0;
int b = 0;
int Y = 0;
int D = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Ievadiet skaitli kuru velaties parbaudit:");
int x = scan.nextInt();
while (Y<16){
if (atzimes[a][b] == x) System.out.println("Skaitlis "+x+" atrodas saja masiva.");
Y=Y+1;
if (atzimes[a][b] == x) break;
b=b+1;
if (b==4) a=a+1;
if (b==4) b=0;
if (a==2) ;
}
if (atzimes[a][b] == x) System.out.println("" );
else System.out.println("Skaitlis "+x+" neatrodas masiva." );
}
}
当我检查最后一个值(69)时,它超出了范围,我不知道为什么。我尝试过更改循环结束的值,但这无济于事,我目前没有想法。它询问 x 的值并检查是否在数组中。
最佳答案
尝试使用嵌套的 for 循环重做循环。嵌套的 for 循环看起来更整洁,并允许您完成代码。您也不会犯那么多错误。
for(int i=0; i<6;i++){
for(int j=0; j<4; j++){
atzimes[i][j]; //do stuff here
}
}
关于java - 数组循环出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623857/