1. 程式人生 > >2018/12/05 PAT刷題 L1-015 跟奧巴馬一起畫方塊 Java

2018/12/05 PAT刷題 L1-015 跟奧巴馬一起畫方塊 Java

題目是簡單的, 就是有一個問題要注意, 在第8行的地方,  double h = (double)n / 2; , 不能改寫成 double h = n / 2; , 如果寫成第二個程式碼的話, 雙精度浮點數變數的小數部分一定是.0, 因為整型n / 2 的結果一定是一個整型數. 程式碼如下:

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 
 4 public class Main {
 5 
 6     public static void main(String[] args) throws
Exception { 7 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 8 String[] str = br.readLine().split(" "); 9 int n = Integer.parseInt(str[0]); 10 if (3 <= n && n <= 21) { 11 double h = (double)n / 2; 12 int
x = (int) (n / 2); 13 double y = h - x; 14 // System.out.print(y); 15 if (y >= 0.5) { 16 h++; 17 } 18 // System.out.println((int)h); 19 for (int i = 0; i < (int) h; i++) { 20 for (int j = 0; j < n; j++) {
21 System.out.print(str[1]); 22 } 23 System.out.println(); 24 } 25 } 26 27 } 28 29 }