多维数组代码小记

public class xishu {
public static void main(String[] args) {
//1.创建一个二维数组 11*11 0:没有棋子 1.黑棋 2.白棋

    int [] [] array=new int[11][11];
    array [1][2]=1;
    array [2] [3]=2;
    //输出原始的数组
    System.out.println("输出原始的数组");

    for (int [] its:array) {
        for (int iteams:its){
            System.out.print(iteams+" ");
        }
        System.out.println();
    }
    //转换为稀释数组保存
    //获取有效的个数
    int sum=0;
    for (int i = 0; i <11 ; i++) {
        for (int j = 0; j <11 ; j++) {
            if(array[i][j]!=0){
                sum++;
            }
        }
    }
    System.out.println("有效的数值是"+sum);

    //创建一个稀释数组的数组
    int [][] arr =new int[sum+1] [3] ;
    arr [0] [0]=11;
    arr [0] [1]=11;
    arr [0] [2 ]=sum;
    //便利二维数组,将非零的值,存放于稀释数组中
    int count=0;
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            if (array[i] [j]!=0 ){
                count++;
                arr[count] [0]=i;
                arr[count] [1]=j;
                arr[count] [2]=array[i] [j];
            }
        }
    }
    System.out.println("输出稀释数组");
    for (int i = 0; i < arr.length ; i++) {
        System.out.println(arr[i][0]+"\t"+arr[i][1]+"\t"+arr[i][2]+"\t");
    }
    }

}

猜你喜欢

转载自blog.csdn.net/vxandox/article/details/107821138