📄 array-07.java
字号:
//=====================程序描述==================
//程序名称:array-07.java
//程序目的:演示一个二维稀疏数组的处理过程
//作者:张中强
//=====================程序描述==================
import java.util.*;
class array07
{
public static void main(String args[])
{
int[][] numbers=new int[5][5];
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(i==j)
{
numbers[i][j]=i*j;
}
else
{
numbers[i][j]=0;
}
}
}
//原样输出数组
System.out.println("原数组:");
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
System.out.print(numbers[i][j]+"\t");
}
System.out.println();
}
//计算一个有多少个非零值
int sum=0;
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(numbers[i][j]!=0)
sum++;
}
}
//将该稀疏数组放在一个动态数组中
ArrayList al=new ArrayList();
//第一行,存放数组有多少行,多少列,有多少个非0值
number info=new number();
info.row=5;
info.col=5;
info.value=sum;
al.add(info);
//遍历数组,将非零值保存下来
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(numbers[i][j]!=0)
{
number n=new number();
n.row=i;
n.col=j;
n.value=numbers[i][j];
al.add(n);
}
}
}
//打印稀疏数组的值
System.out.println();
System.out.println("稀疏数组");
for(int i=0;i<al.size();i++)
{
number n=(number)al.get(i);
System.out.println(n.row+"\t"+n.col+"\t"+n.value);
}
}
}
//定义一个类来存放每一个数的信息
class number
{
int row;
int col;
int value;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -