import java.util.Arrays; public class demo01 { //稀疏数组 public static void main(String[] args) { //1、创建二维数组 11*11 0:无棋子 1:黑棋 2:白棋 int[][] arr = new int[11][11]; arr[1][2]=1; arr[2][3]=2; //输出原始数组 System.out.println("输出原始数组"); for (int[] ints:arr){//增强for循环 for(int anInt:ints){ System.out.print(anInt+"\t"); } System.out.println(); } //有效数字 int sum=0; for (int i = 0; i <11 ; i++) { for (int j = 0; j < 11 ; j++) { if (arr[i][j]!=0){ sum++; } } } System.out.println("有效数字的个数:"+ sum); System.out.println("输出稀疏数组"); //定义稀疏数组 int[][] xsarr=new int[sum+1][3]; xsarr[0][0]=11; xsarr[0][1]=11; xsarr[0][2]=sum; //遍历二维数组,将非0的数字存入稀疏数组中 int count=0; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { if(arr[i][j]!=0){ count++; xsarr[count][0]=i; xsarr[count][1]=j; xsarr[count][2]=arr[i][j]; } } } for(int[] ints:xsarr){ for(int an:ints){ System.out.print(an+"\t"); } System.out.println(); } } }