先上代碼
import?java.util.Scanner;public?class?CustonOutputS?{
private?static?Scanner?sc;
public?static?void?main(String[]?args)?{
sc?=?new?Scanner(System.in);
int?num?=?0;
num?=?sc.nextInt();
boolean?isEven?=?num?%?2?==?0;?//?是否偶數
char[]?chars?=?new?char[num];
int?half?=?(int)?Math.ceil((double)num?/?2);
for(int?i?=?0;?i?<?half;?i?++)?{
if(i?%?2?==?0)?{
for(int?j?=?i;?j?<?num?-?i;?j?++)?{
chars[j]?=?'s';
}
}?else?{
for(int?j?=?i;?j?<?num?-?i;?j?++)?{
chars[j]?=?'n';
}
}
for(int?j?=?0;?j?<?chars.length;?j?++)?{
System.out.print(chars[j]);
}
System.out.println();
}
for(int?i?=?half;?i?<?num;?i?++)?{
//?如果num是偶數則奇數行中間全是s,否則是n
boolean?isS?=?isEveni?%?2?!=?0?:?i?%?2?==?0;
if(isS)?{
for(int?j?=?num?-?i;?j?<?i;?j?++)?{
chars[j]?=?'s';
}
}?else?{
for(int?j?=?num?-?i;?j?<i;?j?++)?{
chars[j]?=?'n';
}
}
for(int?j?=?0;?j?<?chars.length;?j?++)?{
System.out.print(chars[j]);
}
System.out.println();
}
}
}
首先呢,我們看這個圖片的規律,輸入壹個數,然後循環交替顯示s和n。然後嘛,顯示的規律就是,先聲明壹個字符數組的變量,第壹行就都是s啦,接下來每壹行都在上壹行的基礎上交替將中間的數換成n,再換成s,到了壹半以後再逆向變換過來