永发信息网

java打印如下数字矩阵

答案:2  悬赏:20  手机版
解决时间 2021-01-25 23:04
16 15 14 13
5 4 3 12
6 1 2 11
7 8 9 10
public class Text3 {
public static void main(String[] args) {
int row=4;//几行
int col=4;//几列
int[][] m=new int[row][col];//二维数组,用于存放结果
int n=col*row;//该矩阵中的最大值
int i=0;//行号
int j=1;//列号
int t_col=col;//列循环变量
int t_row=row;//行循环变量
while(true) {
//赋值某行
for(int k=0;k<t_col;k++) {
j+=-1;
m[Math.abs(i)][Math.abs(j)]=n--;
}
if(n==0) break;//如果值已赋完,则退出
t_col--;//列循环--
t_row--;//行循环--
//赋值某列
for(int k=0;k<t_row;k++) {
i+=-1;
m[Math.abs(i)][Math.abs(j)]=n--;
}
if(n==0) break;//如果值已赋完,则退出
j=-j;
i=-i;
}
print(m);
}
static void print(int[][] a) {
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();
}
}

}
最佳答案
class matric{
public static void main(String args[]){
System.out.print("16 15 14 13\n5 4 3 12\n6 1 2 11\n7 8 9 10\n");
}
}
全部回答
import java.util.arraylist; import java.util.scanner; public class junzheng { public static void main(string[] args) { scanner in = new scanner(system.in); int i = in.nextint(); int[][] arr= new int[i][i]; arraylist list = new arraylist(); for(int j=0;j<(i*i);j++){ list.add(integer.valueof(j+1)); } //system.out.println(list); for(int m=0;m
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯