我想確定一個字符串是否包含正整數。我的代碼是:java中的比較問題[.equals()]
public void isInt(String str) throws NotIntException{
String integer=str.replaceAll("\\d","");
System.out.println(integer);
if (!integer.equals("")){
throw new NotIntException("Wrong data type-check fields where an integer"+
" should be.");
}//end if
if (integer.equals("-")){
System.out.println(integer);
throw new NotIntException("Error-Can't have a negative count.");
}//end if
}//end method
我正在用一個字符串「-1」測試它,它應該在replaceAll()之後變成「 - 」。這應該輸入兩個if語句。但它只進入第一個。我也嘗試過==的比較,以防萬一,但它也不起作用。對我來說奇怪的是,無論我期望完成第二個if語句的條件還是實現它的否定[即!integer.equals(「 - 」)],程序仍然不會進入if ...
謝謝,通常我的比較問題,只是我缺少一些基本的東西,但我真的看不到任何東西在這裏...
你就不能'的Integer.parseInt()',看看它是否拋出或是否定的? – Esailija
如果它進入第一個並拋出異常......它應該如何進入第二個?困惑 – Affe
@Esailija sry,我讀過你的評論,有同樣的方法,看到我的答案。 – jlordo