Java实现打印回型嵌套

***********
*         *
* ******* *
* *     * *
* * *** * *
* * * * * *
* * *** * *
* *     * *
* ******* *
*         *
***********

观察这个图形,它是由一系列正方形的星号方框嵌套而成。
在上边的例子中,最外方框的边长为11。

本题的任务就是从标准输入获得一个整数n(1<n<100)
程序则生成嵌套着的回字型星号方框。其最外层方框的边长为n

例如:
输入:
程序输出:
*****
*   *
* * *
*   *
*****

输入:6
程序输出:
******
*    *
* ** *
* ** *
*    *
******
import java.util.Scanner;

public class Main {
    
    public void getResult(int n) {
        char[][] value = new char[n][n];
        for(int i = 0;i < n;i++)
            for(int j = 0;j < n;j++)
                value[i][j] = ' ';
        for(int i = 0;i < n;i = i + 2) {
            int start = i, end = n - i;
            if(end < start)
                break;
            for(int j = start;j < end;j++) {
                value[i][j] = '*';   
                value[j][i] = '*';
                value[end - 1][j] = '*';
                value[j][end - 1] = '*';
            }
        }
        for(int i = 0;i < n;i++) {
            for(int j = 0;j < n;j++)
                System.out.print(value[i][j]);
            System.out.println();
        }
    }
    
    public static void main(String[] args) {
        Main test = new Main();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        test.getResult(n);
    }
}
posted @ 2019-07-26 22:30  南墙1  阅读(20)  评论(0编辑  收藏  举报