Java实现回形数,只利用数组、循环和if-else语句
import java.util.Scanner;
public class learn {
public static void main(String[] args){
System.out.println("請輸入你需要打印多少階的回形數:");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt(); // 接收num,則打印num階的回形數
scan.close();
int[][] hui = new int[num][num];
for(int i = 0,j = 0,flag = 0,theNum = 1; theNum<=(num*num);) { // i可視為二維數組的第i+1排,j可視為二維數組的j+1列;flag表示回形數進行的第flag+1圈;theNum為賦的值。
if(j<num-flag) { //回形數向右走時
hui[i][j] = theNum;
j++;
theNum++;
}
else if(i+1<num-flag) { //回形數向下走時
hui[i+1][j-1] = theNum;
theNum++;
i++;
}
else {
for(int m = num-flag-1,n = num -flag-1;;) {
if(n>flag) { //回形數向左走時
n--;
hui[m][n] = theNum;
theNum++;
}
else if(m>flag+1) { //回形數向右走時
m--;
hui[m][n] = theNum;
theNum++;
}
else {
i = flag+1;
j = flag+1;
flag++;
break;
}
}
}
}
for(int a = 0;a<num;a++) {
for(int b = 0;b<num;b++) {
System.out.printf("%d ",hui[a][b]);
}
System.out.println("\n");
}
}
}
轉載于:https://www.cnblogs.com/Midnt/p/10841857.html
總結
以上是生活随笔為你收集整理的Java实现回形数,只利用数组、循环和if-else语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: break、continue、retur
- 下一篇: SpringCloud学习笔记(6)--