2017-03-11 191 views
-1

此方法根據用戶輸入的長度打印出正方形或矩形的文本表示形式。它打印出正確的尺寸,但是,我怎麼會使它變得空洞?如何跳過字符串?

public String printShape() { 
    String message = ""; 
    for (int i = 0; i < length; i++) { 
     for (int j = 0; j < width; j++) 
      message += "* "; 
     message += "\n"; 
    } 
    return message; 
} 
+0

想想應該打印恆星的座標是什麼,併爲所有其他打印空間。 – Jeremy

+0

長度,寬度 - 它們對於方法是什麼? – nullpointer

+0

我將如何讓它變得空洞?意味着 – mhasan

回答

0

你想打印一個明星,當你在邊界。使用if語句來檢測並打印一個星號。否則,打印一個空格。

public String printShape() { 
    String message = ""; 
    for (int i = 0; i < length; i++) { 
     for (int j = 0; j < width; j++) 
      message += i == 0 || i == j ? "* " : " "; 
     message += "\n"; 
    } 
    return message; 
} 
+0

這給了我一個錯誤,指出:操作符||未定義爲參數類型int,布爾值 – sall

+0

我有「i = 0 || i = j」但忍者修正它。那之前你有複製過嗎? – user3724404

0

我建議將您的值作爲參數傳入,而不是將它們從全局範圍中拉出。

public String printShape(int width, int length) { 
    String message = ""; 
    for (int j = 0; j < width; j++) { 
     message += "*"; 
    } 
    message += "\n"; 
    for (int i = 0; i < length; i++) { 
     message += "*"; 
     for (int j = 0; j < (width -2); j++) { 
      message += "*"; 
     } 
     message += "*\n"; 
    } 
    for (int j = 0; j < width; j++) { 
     message += "*"; 
    } 
    message += "\n"; 
    return message; 
}