- 任务与代码
/*
* 日期: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!