java矩陣螺旋順時針輸出
阿新 • • 發佈:2018-11-19
如果是偶數
則多迴圈一次
如果輸入的是奇數則迴圈
package com.yl.sf;
import java.util.Scanner;
//螺旋問題
public class Test1 {
Test1() {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入數字");
int t = sc.nextInt();
test(t);
}
@SuppressWarnings("unused")
private void print(int n[][]) {
for (int i = 0; i < n.length; i++) {
for (int j = 0; j < n[i].length; j++) {
System.out.print(n[i][j] + "\t");
}
System.out.println();
}
}
private void test(int n) {
int array[][] = new int[n][n];
int intA = 1; // 初始化
// n==4
int time = 0;
if (n / 2 == 0) {
time = n / 2;
} else {
time = n / 2 + 1;
}
for (int i = 0; i < time; i++) {
// 左到右
for (int j = i; j < n - i; j++) {
array[i][j] = intA++;
}
// 上到下
for (int k = 1 + i; k < n - i; k++) {
array[k][n - 1 - i] = intA++;
}
// 右到左 3,3
for (int l = n - 2 - i; l >= i; l--) {
array[n - 1 - i][l] = intA++;
}
// 下到上
for (int m = n - 2 - i; m >= 1 + i; m--) {
array[m][i] = intA++;
}
}
print(array);
}
public static void main(String[] args) {
Test1 t = new Test1();
}
}
結果