当前位置:编程学习 > JAVA >>

新手求教。。二维数组 查找的方法

int count=0;
int arr[][]=new int[4][4];
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
count=count+1;
   arr[i][j]=count;
System.out.print(arr[i][j]+"\t"); 
}
System.out.println();
}
    Scanner in=new Scanner(System.in);
         System.out.println("请输入查找的数字");
         int pt=in.nextInt();
         boolean flag=true;
    for(int i=0;i<arr.length;i++){
     for(int j=0;j<arr.length;j++){
     System.out.print(arr[i][j]+"\t"); 
         if(pt==arr[i][j]){     
          flag=true;
          }else
             {
          flag=false;
         }
     }
     System.out.println();
    }
   System.out.println(flag);
二维数组查找方法 二维数组 --------------------编程问答-------------------- boolean flag = false;
for (int i = 0; i < arr.length && !flag; i++) {
for (int j = 0; j < arr.length && !flag; j++) {
System.out.print(arr[i][j] + "\t");
flag = pt == arr[i][j];
}
System.out.println();
} --------------------编程问答-------------------- 修改一下,不知道是不是你需要的结果。 --------------------编程问答-------------------- 你应该先将boolean flag = false;
然后if(pt==arr[i][j]){      
          flag=true;
          break; // 找到了,跳出循环
          }
--------------------编程问答-------------------- for(int i=0;i<arr.length;i++){
     for(int j=0;j<arr.length;j++){
吧这部分改成
for(int i=0;i<arr.length;i++){
     for(int j=0;j<arr[j].length;j++){ --------------------编程问答--------------------
引用 3 楼 qqhw123 的回复:
你应该先将boolean flag = false;
然后if(pt==arr[i][j]){      
          flag=true;
          break; // 找到了,跳出循环
          }

==========================
他双层循环,你跳出一层怎么行? --------------------编程问答--------------------
引用 5 楼 lizhengguang 的回复:
引用 3 楼 qqhw123 的回复:
你应该先将boolean flag = false;
然后if(pt==arr[i][j]){      
          flag=true;
          break; // 找到了,跳出循环
          }
==========================
他双层循环,你跳出一层怎么行?


2了。。。。你写的没问题。 不过这样更好:flag =(pt == arr[i][j]);
--------------------编程问答-------------------- 感谢各位的解答,我是新手,看不出你们解决这问题的思路,
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,