2012-10-16 166 views
0
public boolean isNumber(String t) { 
    for (int i = 0, i<= 9, i++) { 
     if t.equals(i) { 
       return true; 
     } 
    } 
    return false; 
} 

Copypastad錯誤的方法最初 - _ - 我有這樣一類此錯誤編譯內:爲什麼我得到這個錯誤與我的for循環?

data_structures/ExpressionEvaluator.java:40:類型的非法啓動(INT I = 0, i < 10,i ++){

+0

你應該可能顯示你的實際循環。我看不出有什麼問題。 – Austin

+0

錯誤是無法指出你粘貼在這裏的代碼。更多的代碼可能有幫助 – kosa

+0

爲什麼當它不相關時發佈該代碼? – alex

回答

3

使用分號而不是逗號。

for(int i = 0; i < 10; i++) { 
    //do stuff 
} 
+0

當我寫這些時,我的頭腦中有錯誤的語言。被標記爲移除「愚蠢」。謝謝 –

2

您應該使用分號,並且您的if應該用括號括起來。

public boolean isNumber(String t) { 
    for (int i = 0; i <= 9; i++) { 
     if (t.equals(i)) { 
       return true; 
     } 
    } 
    return false; 
} 

我建議閱讀Language Basics

+0

這不會編譯。 – Vulcan

+0

@Vulcan。現在應該。 – kosa

0

分號分隔的品質for循環。此外,if塊的條件必須用圓括號包圍。

public boolean isNumber(String t) { 
    for (int i = 0; i <= 9; i++) { 
     if (t.equals(i)) { 
      return true; 
     } 
    } 
    return false; 
} 
0
public boolean isNumber(String t) { 
    for (int i = 0; i<= 9; i++) { 
     if(t.equals(i)){ 
       return true; 
     } 
    } 
    return false; 
} 

1。使用 」;」替換「,」

2。

if(boolean) { 
     //do stuff 
    } 
0

您的方法只驗證您傳遞的字符串是否是數字,而不是數字(數字可能有多個數字)。你可以verifiy只使用char和調用,Character.isDigit

char c = '1'; 
boolean isDigit = Character.isDigit(c); 

如果你真的想創建自己的方法,將字符串傳遞PARAM,我建議你修改如下:

public boolean isDigit(String t) { 
    return t.length() == 1 && Character.isDigit(t.charAt(0)); 
}