比较java中的输入值

比较java中的输入值,java,Java,我试图比较输入值。这是我想说的一个例子 if(text.input != float) { //code to calculate } 我不想允许输入数字以外的值。这是正确的吗?你应该这样做 try { float value = Float.valueOf(text.input); // Do something with value - it's OK. } catch (NumberFo

我试图比较输入值。这是我想说的一个例子

           if(text.input != float)
           {
              //code to calculate
           }

我不想允许输入数字以外的值。这是正确的吗?

你应该这样做

try {
  float value = Float.valueOf(text.input);
  // Do something with value - it's OK.
} catch (NumberFormatException e) {
  // text.input is not a float, handle appropriately...
}

使用try/catch块实现逻辑将“起作用”,但我不确定这是否是更有效的方法

如果文本值实际上只是一小部分时间的浮点值,那么非浮点值确实是一种例外情况,那么我同意try/catch安排


如果非浮点数占输入的比例更大,我认为最好使用正则表达式来检查有效浮点数,而不是抛出异常。

这不是正确的方法。.不起作用用户定义什么
text.input
显然应该是
java.lang.String
。您的陈述通常是正确的(应保存异常以处理异常情况),但根据我的经验,这本身就是一个异常:),因为它的广泛使用<顺便说一句,code>Float.valueOf()还可以解析工程符号和其他一些东西。很公平。OP(和其他人)应该意识到这种权衡。正则表达式可以毫无例外地执行相同的操作。