2016-11-27 615 views
-4
public boolean isANumber (String s) 
{ 
    for (int i = 0; i < s.length(); i++) 
    { 
     if (!Character.isDigit(s.charAt(i))); 
     { 
     return false; 
     } 
    } 
    return true; 
} 

我從Apache Commons Lang中獲得了此方法,並將其編輯得稍短。無論輸入是字母還是數字,輸出始終爲假。有誰能告訴我爲什麼請嗎? :)使用Character.isDigit()的方法對所有東西都返回false

由於提前,

A.Nur

+8

看你的分號。我的意思是在你的if語句末尾去掉分號 – 3kings

+0

if-block在你的代碼中沒有效果,因爲分號只是簡單的表示,而你總是在{}語句塊中返回false。刪除分號,它應該工作 –

回答

0

改正的代碼

public boolean isANumber (String s) 
{ 
    for (int i = 0; i < s.length(); i++) 
    { 
     if (!Character.isDigit(s.charAt(i))) 
     { 
     return false; 
     } 
    } 
    return true; 
} 

這是把撐在該行的最後一個很好的理由,而不是在下面一行的開頭。

+0

啊,我明白了。我在錯誤的地方放了一個分號。非常感謝! –

相關問題