--------------------------------------------------------------------------------------------------------------------------------------------------------
時間限制:1秒 空間限制:32768K 代碼長度限制 100 KB
--------------------------------------------------------------------------------------------------------------------------------------------------------
題目描述
美國總統奧巴馬不僅呼籲所有人都學習編程,甚至以身作則編寫代碼,成爲美國歷史上首位編寫計算機代碼的總統。
2014年底,爲慶祝“計算機科學教育周”正式啓動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。
現在你也跟他一起畫吧!
輸入描述:
輸入在一行中給出正方形邊長N(3<=N<=20)和組成正方形邊的某種字符C,間隔一個空格。
輸出描述:
輸出由給定字符C畫出的正方形。但是注意到行間距比列間距大,所以爲了讓結果看上去更像正方形,我們輸出的
行數實際上是列數的50%(四捨五入取整)。
輸入例子:
10 a
輸出例子:
aaaaaaaaaa
a a
a a
a a
aaaaaaaaaa
-------------------------------------------------------------------------------------------------------------------------------------------------------
實現思路:
(1).確定輸出的行數;
(2).第一行和最後一行,全量打印字符C,中間的行,打印第一個和最後一個位置的字符,剩餘打印空格即可;
(3).需要注意一下換行的時機,第一行換行,最後一行不換行,中間所有行均換行。
--------------------------------------------------------------------------------------------------------------------------------------------------------
package com.biyao.algorithm.niuke.a1;
import java.util.Scanner;
public class Main_a1_026 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int column = scan.nextInt();
String s = scan.next();
int row = column/2;
if(column%2 == 1){
row = row + 1;
}
for (int i = 0; i < row; i++) {
if(i == 0 || i == (row - 1)){
for (int j = 0; j < column; j++) {
System.out.print(s);
}
if(i == 0){
System.out.println();
}
}else{
System.out.print(s);
for (int j = 0; j < column-2; j++) {
System.out.print(" ");
}
System.out.print(s);
System.out.println();
}
}
}
}
}