2013-11-25 145 views
0

我需要使用正則表達式嗎?但輸入的數字是未知的。 或者Java中有這樣的功能嗎?如何檢查輸入是否是Java中的有效數字

+1

你的意思是*有效數字*? – Pshemo

+0

Ivaylo Strandjev,這正是我想要做的,但parseInt在失敗時不會提供反饋。我想要的是一個信號,以便我可以提示用戶重做輸入。 – jsh6303

+0

數字0-9的任意組合。 – jsh6303

回答

1

例如,如果你想檢查一個String是否是一個有效的整數,你可以使用Integer.parseInt。如果String沒有以有效格式存儲一個數字,你將得到一個NumberFormatException,所以你可以用try/catch塊來包圍這段代碼。

+0

異常通常不應用於控制流程。如果您經常遇到這種情況,並且僅基於數字的數字分支,那麼您不應該使用異常。 – Cruncher

+0

@Cruncher在這種情況下,編寫一個正則表達式來檢查值是否是一個有效整數(即一個32位有符號值)非常複雜,代碼的可讀性和可維護性將受到很大的影響。事實上,我記得幾年前我們正在談論同樣的觀點,但最終我放棄了,可能沒有更好的辦法來處理這種情況。 –

+0

坦率地說,如果java想提倡「請求權限」而不是「請求寬恕」,爲什麼這不應該成爲標準庫的一部分。 – Cruncher

相關問題