- 任務與代碼
/*
* 日期:2020/4/1
* 作者:陳happy
* 題目描述:把一個個大小差一圈的筐疊上去,使得從上往下看時,邊框花色交錯。
* 輸入:一個個三元組,分別是,外框尺寸n(0<n<80的奇整數),中心花色字符,外筐花色字符,後二者都爲ASCII可見字符;
* 輸出:疊在一起的筐圖案,中心花色與外筐花色字符從內層起交錯相疊,多筐相疊時,最外筐的角總是被打磨掉。疊筐與疊筐之間應有一行間隔。
*/
import java.util.*;
public class test2_8 {
public static void main (String args[])
{
boolean first=true;
String str[][]=new String[81][81];
Scanner t= new Scanner(System.in);
while(t.hasNext())
{
int n;
String c;
n=t.nextInt();
String a=t.next();
String b=t.next();
if(first==true)
{first=false;}
else
System.out.println(" ");
for(int i=0;i<=n/2;i++) {
int length=n-2*i;
if((n/2-i)%2==0) c=a;
else c=b;
for(int k=i;k<=i+length-1;k++) {
str[i][k]=c;
str[k][i]=c;
str[i+length-1][k]=c;
str[k][i+length-1]=c;
}
}
if(n!=1)
{
str[0][0]=" ";
str[0][n-1]=" ";
str[n-1][0]=" ";
str[n-1][n-1]=" ";
}
for(int i=0;i<=n-1;i++) {
for(int j=0;j<=n-1;j++) {
System.out.print(str[i][j]);
}
System.out.println("");
}
}
t.close();
}
}
運行結果:
- 心得與反思
- 在拿到題目前一定要先畫圖明確首先要確定哪幾個量,將問題分解成簡單的小問題;
- 在寫for循環是需要明確取值從哪裏開始、到哪裏結束,是<還是<=;
- 最後一定要注意需要滿足題目的所有要求:疊筐與疊筐之間有一行空格;
- No one travels without purpose, those who are lost wish to be lost.Fighting!