java - 数组循环出现错误

标签 java

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/

相关文章:

java - Java 中的变量声明放置指南

java - onPostExecute 中来自 AsyncTask 的 setText

java - 如何配置aspectj忽略getter和setter

java - 为什么 java 集合中的泛型如此奇怪?

java - 如何从 SupplySync 返回对象而不阻塞主线程?

java - 带有 SimpleXML 库的 XML - Android 上的性能

java - 加载检测类时避免注入(inject)

java - 创建jpa后自动填充表格

java - DoublePropertyBase 中的 get() 和 GetValue() 有什么区别?

java - Liferay已安装但本地主机:8080 return "No data received"