大侠求救
用Java实现以下的程序
能否告诉下算法的思路呀
输出可大可小的正方形图案:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
------解决方案--------------------只输出正方形的话,还是比较简单,像你那样填数字进去就要你自己去考虑了。
题:输出长度为n的正方形,以“*”作为行符!
思路:输出n个长度后换一行,换n次就行了
代码:
               for(int i=1,z=1;i<=6;i++,z++)
		{
			for(int k=0;k<6;k++)
			{
				System.out.print("*"+" ");
			}
			System.out.println("");
		}
------解决方案--------------------
public static void main(String[] args) {		
		Integer squareSize=10;//任意大小的正方形		
		String upofdown="1";//横排第一行和最后一行的数字		
		String first="";//横排第一列数字		
		String center=" 2";//横排中间列的数字		
		String end="";//横排最后一列的数字		
		for (int i = 0; i < squareSize; i++) {//循环横排的数字			
			upofdown=upofdown+" 1";			
			if(i==0)first="1";			
			else if(i==squareSize-1) end=" 1";  			
			else center=center+" 2";			
		}
		for (int i = 0; i < squareSize; i++) {//循环竖排的数字		
			if(i==0 || i==squareSize-1)  					
				System.out.println(upofdown);
			else
				System.out.println(first+center+end);
		 }
	}