标题: 一个螺旋数组的实现方法,用二维数组与循环语句实现 [打印本页] 作者: 我有上将潘凤 时间: 2016-5-23 23:33 标题: 一个螺旋数组的实现方法,用二维数组与循环语句实现 //主题思想就是先对一个二维数组螺旋式赋值,再遍历这个二维数组
//感兴趣的朋友可以试一试:
class Text1 {
public static void main(String[] args){
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.println("请输入螺旋数组的长度:");
int n = sc.nextInt();
int number = 1;
int[][] arr = new int[n][n];
int i = 0;
int j = 0;
int count = 0;
while (true) {
for (;j<arr[i].length-count;j++) {
arr[i][j] = number;
number++;
}
j--;
i++;
for (;i<arr.length-count;i++) {
arr[i][j] = number;
number++;
}
i--;
j--;
for (;j>=count;j--) {
arr[i][j] = number;
number++;
}
j++;
i--;
for (;i>=count+1;i--) {
arr[i][j] = number;
number++;
}
i++;
j++;
count++;
if (count>=(n-1)/2+1) {
break;
}
}
System.out.println("--------------------------------");
for (int x = 0;x<arr.length;x++) {
for (int y = 0;y<arr[x].length ;y++) {
System.out.print(arr[x][y]+"\t");
}
System.out.println("");
}
}
}