***********
* *
* ******* *
* * * *
* * *** * *
* * * * * *
* * *** * *
* * * *
* ******* *
* *
***********
观察这个图形,它是由一系列正方形的星号方框嵌套而成。
在上边的例子中,最外方框的边长为11。
本题的任务就是从标准输入获得一个整数n(1<n<100)
程序则生成嵌套着的回字型星号方框。其最外层方框的边长为n
例如:
输入:
5
程序输出:
*****
* *
* * *
* *
*****
输入:6
程序输出:
******
* *
* ** *
* ** *
* *
******
package dati;
import java.util.Scanner;
public class huixing {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
f(n);
}
static void f(int n){
char[][] hui=new char[n][n];
if(n%2==0){
for(int i=0;i<=n/2;i++){
if(i%2==0)
for(int j=i;j<n-i;j++){
hui[i][j]='*';
hui[j][i]='*';
hui[n-1-i][j]='*';
hui[j][n-1-i]='*';
}
if(i%2==1)
for(int j=i;j<n-i;j++){
hui[i][j]=' ';
hui[j][i]=' ';
hui[n-1-i][j]=' ';
hui[j][n-1-i]=' ';
}
}
}
if(n%2==1){
for(int i=0;i<=n/2+1;i++){
if(i%2==0)
for(int j=i;j<n-i;j++){
hui[i][j]='*';
hui[j][i]='*';
hui[n-1-i][j]='*';
hui[j][n-1-i]='*';
}
if(i%2==1)
for(int j=i;j<n-i;j++){
hui[i][j]=' ';
hui[j][i]=' ';
hui[n-1-i][j]=' ';
hui[j][n-1-i]=' ';
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(hui[i][j]);
}
System.out.println();
}
}
}