我正在解決CodingBat.com(extraFront)上的基本Java字符串問題。在if/else結構中聲明變量
任務是給定一個任意長度的字符串,返回重複三次的兩個第一個字符。第一個例子是我落得這樣做直觀:
public String extraFront(String str) {
if (str.length() <= 2){
String front = str;
}else{
String front = str.substring(0,2);
}
return front+front+front;
}
這給了我一個錯誤,前解決不了。我猜我需要定義外循環的變量,所以我改變了代碼以下,這沒有錯誤的工作原理:
public String extraFront(String str) {
String front;
if (str.length() <= 2){
front = str;
}else{
front = str.substring(0,2);
}
return front+front+front;
}
令我百思不解的是爲什麼這應該有所作爲,作爲變量是怎麼回事無論如何宣佈,它會不會?這是CodingBat如何處理代碼的特點,還是這實際上是一個錯誤?如果是這樣,爲什麼這是不正確的代碼?如果它不是不正確的,它是不好的風格?