蓝桥杯软件大赛(回型嵌套)

package com.lanqiaobei.dati_01;

/*

		***********
		*         *
		* ******* *
		* *     * *
		* * *** * *
		* * * * * *
		* * *** * *
		* *     * *
		* ******* *
		*         *
		***********
		
		观察这个图形,它是由一系列正方形的星号方框嵌套而成。
		在上边的例子中,最外方框的边长为11。
		
		本题的任务就是从标准输入获得一个整数n(1<n<100)
		程序则生成嵌套着的回字型星号方框。其最外层方框的边长为n
		
		例如:
		输入:
		5
		程序输出:
		*****
		*   *
		* * *
		*   *
		*****
		
		输入:6
		程序输出:
		******
		*    *
		* ** *
		* ** *
		*    *
		******

*/
public class HuiXingQianTao {

	/**
	 * @param args
	 * @author wildcat
	 */
	public static String  list[][] ;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int tal=23;
		int start=0;
		list=new String[tal][tal];
		//当总个数大于等于1时调用函数
		while(tal>=1){
		addArray(tal,start);
		tal-=4;			//总个数减4
		start+=2;		//起始位置加2
		}
		myPrint(list);
	}
	//填充数组函数,tal表示总个数,start表示起始位置
	public static void addArray(int tal,int start){	
		for (int i=start;i<tal+start;i++){			//i是行,j是列
			for (int j=start;j<start+tal;j++){
				if(i==start||i==start+tal-1){
					list[i][j]="*";
				}else if(j==start+tal-1||j==start){
					list[i][j]="*";
				}else{
					list[i][j]=" ";
				}			
			}	
		}	
		
	}
	//遍历输出函数
	public static void myPrint(String list[][]){
		for (int i=0;i<list.length;i++){
			for(int j=0;j<list.length;j++){
				System.out.print(list[i][j]);
			}
			System.out.println();
		}
		
	}
}
运行结果如下:

原文地址:https://www.cnblogs.com/lixingle/p/3312987.html