一、已知二维数组数据 int [][] nums={{1,2,3},{4,5,6},{7,8,9}};输出所有数据
public static void main(String[] args) {
int[][] nums= {{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[i].length; j++) {
System.out.print(nums[i][j]+" ");
}
System.out.println();
}
}
二、定义一个4行4列的二维数组,逐个从键盘输入值,然后将第1行和第4行的数据进行交换,将第2行和第3行的数据进行交换
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一行数据第一个数据");
int h1l1=sc.nextInt();
System.out.println("请输入第一行数据第二个数据");
int h1l2=sc.nextInt();
System.out.println("请输入第一行数据第三个数据");
int h1l3=sc.nextInt();
System.out.println("请输入第一行数据第四个数据");
int h1l4=sc.nextInt();
System.out.println("请输入第二行数据第一个数据");
int h2l1=sc.nextInt();
System.out.println("请输入第二行数据第二个数据");
int h2l2=sc.nextInt();
System.out.println("请输入第二行数据第三个数据");
int h2l3=sc.nextInt();
System.out.println("请输入第二行数据第四个数据");
int h2l4=sc.nextInt();
System.out.println("请输入第三行数据第一个数据");
int h3l1=sc.nextInt();
System.out.println("请输入第三行数据第二个数据");
int h3l2=sc.nextInt();
System.out.println("请输入第三行数据第三个数据");
int h3l3=sc.nextInt();
System.out.println("请输入第三行数据第四个数据");
int h3l4=sc.nextInt();
System.out.println("请输入第四行数据第一个数据");
int h4l1=sc.nextInt();
System.out.println("请输入第四行数据第二个数据");
int h4l2=sc.nextInt();
System.out.println("请输入第四行数据第三个数据");
int h4l3=sc.nextInt();
System.out.println("请输入第四行数据第四个数据");
int h4l4=sc.nextInt();
int[][] a=new int[4][4];
a [0][0]=h1l1;
a [0][1]=h1l2;
a [0][2]=h1l3;
a [0][3]=h1l4;
a [1][0]=h2l1;
a [1][1]=h2l2;
a [1][2]=h2l3;
a [1][3]=h2l4;
a [2][0]=h3l1;
a [2][1]=h3l2;
a [2][2]=h3l3;
a [2][3]=h3l4;
a [3][0]=h4l1;
a [3][1]=h4l2;
a [3][2]=h4l3;
a [3][3]=h4l4;
int[] temp=new int[4];
int[] temp2=new int[4];
for (int i = 0; i < a.length; i++) {
temp[i]=a[0][i];
a[0][i]=a[3][i];
a[3][i]=temp[i];
temp2[i]=a[1][i];
a[1][i]=a[2][i];
a[2][i]=temp2[i];
}
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
另一种方式:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[][] a=new int[4][4];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
System.out.print("请输入第"+(i+1)+"行");
System.out.println("第"+(j+1)+"个数:");
a[i][j]=sc.nextInt();
}
}
System.out.println("输入的矩阵为:");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
int[] temp=new int[4];
int[] temp2=new int[4];
for (int i = 0; i < a.length; i++) {
temp[i]=a[3][i];
a[3][i]=a[0][i];
a[0][i]=temp[i];
temp2[i]=a[2][i];
a[2][i]=a[1][i];
a[1][i]=temp2[i];
}
System.out.println("更换后的矩阵为:");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
三、定义一个N*N二维数组,从键盘上输入值,找出每行中最大值组成一个一维数组并输出
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请定义一个长度N");
int N=sc.nextInt();
int[][] a=new int[N][N];
//开始输入数据
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.println("请输入第"+(i+1)+"行"+"第"+(j+1)+"个数字");
a[i][j]=sc.nextInt();
}
}
//新建一个收数据的一维数组
int[] b=new int[N];
//读取输入的数字 并且找最大值
for (int i = 0; i < a.length; i++) {
int max=a[i][0];//假设第i行的第一个是最大的
for (int j = 0; j < a[i].length; j++) {
if (a[i][j]>max) {
max=a[i][j];
}
}
b[i]=max;
}
System.out.println("每一行最大值组成的数是");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");
}
System.out.println();
}
四、打印杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个高度");
int N=sc.nextInt();
int a [][]=new int[N][N];
//填数字
for (int i = 0; i < a.length; i++) {
a[i][i]=1;//控制斜着的1
a[i][0]=1;//控制竖着的1
}
//再写计算的数字了
for (int i = 2; i < a.length; i++) {//控制行数
for (int j = 1; j < i; j++) {//控制除了1以外,里面数字的个数
a[i][j]= a[i-1][j]+a[i-1][j-1];
}
}
//输出数字
for (int i = 0; i < a.length; i++) {
for (int j = 0; j <=i; j++) {
System.out.print(a[i][j]);
}
System.out.println();
}
}