数组:Demo6_ArrayDouble
2021/12/29 23:07:38
本文主要是介绍数组:Demo6_ArrayDouble,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 package www.array; 2 3 public class Demo6_ArrayDouble { 4 public static void main(String[] args) { 5 //1,创建一个二维数组 11*11 0:没有棋子 1:黑棋 2:白棋 6 int[][] array = new int[11][11]; 7 array[1][2] = 1; 8 array[2][3] = 2; 9 //输出原始数组 10 // array.for i.for 11 for (int[] i : array) { 12 for (int j : i) { 13 System.out.print( j + "\t"); 14 } 15 System.out.println(); 16 } 17 18 System.out.println("========================"); 19 //转换为稀疏数组 20 //1, 获取有效值的个数 21 int sum=0; 22 for (int i = 0; i < 11; i++) { 23 for (int j = 0; j < 11; j++) { 24 if (array[i][j] != 0){ 25 sum++; 26 } 27 } 28 } 29 System.out.println("有效值的个数为:"+sum); 30 31 //2, 创建一个稀疏数组,新数组的行为有效值加1,列就为三列(原数组的行+列+值) 32 int[][] array1 = new int[sum+1][3]; 33 34 array1[0][0] = 11; // 原数组有11行 35 array1[0][1] = 11; // 原数组有11列 36 array1[0][2] = sum; // 原数组有两个有效数值 37 38 //遍历二维数组,将有效值存放在稀疏数组中 39 int count=0; 40 for (int i = 0; i < 11; i++) { 41 for (int j = 0; j < 11; j++) { 42 if(array[i][j]!=0){ 43 count++; 44 array1[count][0]=i; 45 array1[count][1]=j; 46 array1[count][2]=array[i][j]; 47 } 48 } 49 } 50 //输出稀疏数组 51 System.out.println("稀疏数组为=============="); 52 for (int i = 0; i < array1.length; i++) { 53 for (int j = 0; j < array1[i].length; j++) { 54 System.out.print(array1[i][j]+"\t"); 55 } 56 System.out.println(); 57 } 58 59 //还原稀疏数组 60 System.out.println("还原稀疏数组为=============="); 61 //读取稀疏数组 62 //稀疏数组第一行的,行和列初始化新的数组 63 int[][] array2 = new int[array1[0][0]][array1[0][1]]; 64 //还原数值值 65 //如果从i=0开始数组就会越界了,因为取出的array1[0][0]=11, 但是11行的数组,下标是从0-10,所以会报数组越界的错误 66 // for (int i = 0; i < array1.length; i++) { 67 for (int i = 1; i < array1.length; i++) { 68 array2[array1[i][0]][array1[i][1]] = array1[i][2]; 69 } 70 //打印还原的数组 71 //array2.for ints.for <快速遍历写法> 72 for (int[] ints : array2) { 73 for (int anInt : ints) { 74 System.out.print(anInt+"\t"); 75 } 76 System.out.println(); 77 } 78 } 79 }
这篇关于数组:Demo6_ArrayDouble的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?