2013-11-25 149 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

相关问题