有关数组与循环的问题

tone316 2010-03-08 04:19:38
我是Java初学者,各位前辈帮个忙吧!
答题如下:

int i=5;
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

int i=6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
请问应该怎么打印出上面的数字,并且这样排列?
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenbo_123 2010-03-08
  • 打赏
  • 举报
回复
package policyWebservice.test;

public class javaexe {

public static void main(String args[]){
for(int loop = 0;loop<10;loop++){
print(loop);
}
}
private static void print(int num){
int value = 1;
for(int i = 0;i<num;i++){
for(int j = 0;j<num;j++){
if(j==num-1){
System.out.println(value+" ");
}else{
System.out.print(value+" ");
}
value++;
}
}
}
}
stu202060510 2010-03-08
  • 打赏
  • 举报
回复
如果你不是做贪食蛇,给你个简单点的,不过伸缩性不是太好
public class Test{
public static void main(String args[]) {
fun(8);
}

static void fun(int n){
int k=n-1;
int count=1;
int a[][]=new int[n][n];
for(int i=0;i<n/2;i++){
for(int j=i;j<k;j++){
a[i][j]=count++;
}
for(int j=i;j<k;j++){
a[j][k]=count++;
}
for(int j=k;j>i;j--){
a[k][j]=count++;
}
for(int j=k;j>i;j--){
a[j][i]=count++;
}
k--;
}
if(n % 2!=0){
int i=(n-1)/2;
a[i][i]=n*n;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.printf("%4d",a[i][j]);
}
System.out.println();
}
}
}
amdgaming 2010-03-08
  • 打赏
  • 举报
回复
贪食蛇啊,呵呵 我找找 给你 代码。。。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧