列印圖形
時間限制: 1.0s 記憶體限制: 512.0MB
【問題描述】
小明剛學習完條件陳述句和回圈陳述句,并且也列印了許多圖形,比如菱形或者三角形,然后他突發奇想要列印一個六芒星,果然,他用了半小時就把六芒星給列印出來了,你能比他更快嗎?小明為你加油哦!
【輸入格式】
輸入一行包含一個整數 n,
【輸出格式】
輸出一個六芒星,表示滿足題意的圖形,
【樣例輸入】
3
4
【樣例輸出】


【評測用例規模與約定】
對于所有評測用例,1 ≤ n ≤ 20,
class Main{
static char [][]array=new char[20*20-3][((20*3)-2)*2-1];
public static void main(String[] args) {
Scanner sc=new Scanner (System.in);
while(sc.hasNext()) {
int n=sc.nextInt();
int length=((n*3)-2)*2-1;
int width=n*3-2;
clear(width,length,n);
f(width,length,n);
print(width,length,n);
}
}
public static void f(int width,int length,int n) {
int i=0;
int k=width+n-2;
int mid1=length/2;
int mid2=length/2;
while(i<width&&mid2>=0) {
array[i][mid1]='*';
array[i][mid2]='*';
array[k][mid1]='*';
array[k][mid2]='*';
mid1++;
mid2--;
i++;
k--;
}
i=0;
while(i<length) {
array[n-1][i]='*';
array[width-1][i]='*';
i+=2;
}
}
public static void print(int width,int length,int n) {
for(int i=0;i<width+n-1;i++) {
for(int j=0;j<length;j++) {
System.out.print(array[i][j]);
}
System.out.println();
}
}
public static void clear(int width,int length,int n) {
for(int i=0;i<width+n-1;i++) {
for(int j=0;j<length;j++) {
array[i][j]=' ';
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264824.html
標籤:java
上一篇:外觀模式
