public static void print(){
int[][] a = new int[][]{
new int[]{1,5,8,10},
new int[]{2,6,9},
new int[]{3,7},
new int[]{4}};
for(int i=0; i<a.length; i++){
for(int j=0; j<=a.length-a[i].length;j++){
// System.out.print(a[j][i-j]+" ");
System.out.print(a[j][i-j]<10 ? a[j][i-j]+" " : a[j][i-j]+" ");
}
System.out.println();
}
}
如果我没理解错题意的话,应该是这样
追问也不是这样,谢谢了,我做出来了,其实这题的意思就是定义一个4*4的空数组,通过遍历让其有规律的在每一个索引位置放一个数,通过计数器累加,最后形成图的那样,而不是往里面直接放数,你明白么?
追答public static void print(){
int[][] a = new int[4][];
for(int i=0; i<a.length; i++){
a[i] = new int[a.length-i];
}
int index =1;
for(int i=0; i<a.length; i++){
for(int j=0; j<a[i].length;j++){
a[j][i] = index++;
}
}
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
System.out.println(Arrays.toString(a[3]));
}
你说的是这个效果吧.... 题目有歧义啊
看看,花了这么多人的时间做了无用功。
追问你这个也不对,不好意思耽误你时间了,我采纳那个是我想要的,只不过我是用for做的,谢谢你了
追答您确定这个不对么,我表示很无奈
我把那位答案拿下来运行了一下,终于理解了您的意思。您要的不就是两段代码合并出来的效果么
我仿佛看到了一万只草泥马在向我奔来.....
public static void print(){
int[][] a = new int[4][];
for(int i=0; i<a.length; i++){
a[i] = new int[a.length-i];
}
int index =1;
for(int i=0; i<a.length; i++){
for(int j=0; j<a[i].length;j++){
a[j][i] = index++;
}
}
for(int i=0; i<a.length; i++){
for(int j=0; j<=a.length-a[i].length;j++){
// System.out.print(a[j][i-j]+" ");
System.out.print(a[j][i-j]<10 ? a[j][i-j]+" " : a[j][i-j]+" ");
}
System.out.println();
}
}
T.M 我还真就不信了,这种问题都解决不了