小程序 splice 二维数组
发布网友
发布时间:2022-04-23 02:19
我来回答
共1个回答
热心网友
时间:2022-05-03 03:30
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int row=5; //这里控制输出的行列 请保证行列相等,这里就不做判断了
int[][] a=new int[row][row];
a[0][0]=1;
int n=2,zero=0,change=1;
int value=2;
for(int i=1;i<row;i++){
for(int j=0;j<(2*n-1);j++){
if(i%2!=0){
if(j<(2*n-2)/2){
a[zero++][change]=value++;
continue;
}
if(j==(2*n-2)/2){
a[j][j]=value++;
}
if(j>(2*n-2)/2){
a[change][--zero]=value++;
}
}else{
if(j<(2*n-2)/2){
a[change][zero++]=value++;
continue;
}
if(j==(2*n-2)/2){
a[j][j]=value++;
}
if(j>(2*n-2)/2){
a[--zero][change]=value++;
}
}
}
n++;
change++;
zero=0;
}
String out="";
for(int i=0;i<row;i++){
for(int j=0;j<row;j++){
out=""+a[i][j];
if(out.length()==1)
out="0"+out;
System.out.print(out+" ");
}
System.out.println();
}
}}
运行测试通过
热心网友
时间:2022-05-03 03:31
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int row=5; //这里控制输出的行列 请保证行列相等,这里就不做判断了
int[][] a=new int[row][row];
a[0][0]=1;
int n=2,zero=0,change=1;
int value=2;
for(int i=1;i<row;i++){
for(int j=0;j<(2*n-1);j++){
if(i%2!=0){
if(j<(2*n-2)/2){
a[zero++][change]=value++;
continue;
}
if(j==(2*n-2)/2){
a[j][j]=value++;
}
if(j>(2*n-2)/2){
a[change][--zero]=value++;
}
}else{
if(j<(2*n-2)/2){
a[change][zero++]=value++;
continue;
}
if(j==(2*n-2)/2){
a[j][j]=value++;
}
if(j>(2*n-2)/2){
a[--zero][change]=value++;
}
}
}
n++;
change++;
zero=0;
}
String out="";
for(int i=0;i<row;i++){
for(int j=0;j<row;j++){
out=""+a[i][j];
if(out.length()==1)
out="0"+out;
System.out.print(out+" ");
}
System.out.println();
}
}}
运行测试通过