需要帮助解决Java String问题

时间:2012-02-14 10:53:01

标签: java android string function

我正在android中开发一个可编程计算器。我正在以charsequence的形式获得用户输入,然后我将其转换为字符串。但在我将它们放入堆栈之前我必须检查输入是整数还是符号。

我基本上来自C ++背景。所以我在找到合适的功能来完成这项工作时遇到了问题。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:4)

两种可能的解决方案:

  1. 您可以创建regex来检查您的字符串是否为数字
  2. 您可以尝试使用提取其整数值 Integer.valueOf(),并捕获抛出的异常[NumberFormatException] - 如果它不是 号。
  3. 第一个最有可能比第二个

    更有效率

答案 1 :(得分:0)

不允许用户在文本框(Edittext)中输入文本和特殊字符。当用户在文本框中输入数字时,将该数字转换为整数,如下所示 Integer.parseInt( yourstring);

答案 2 :(得分:0)

如果用户未输入数字,您需要我们Integer.parseInt并抓住相应的NumberFormatException

try
{
  // the String to int conversion happens here
  int i = Integer.parseInt(s.trim());

  // print out the value after the conversion
  System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
  System.out.println("NumberFormatException: " + nfe.getMessage());
}

答案 3 :(得分:0)

可以通过[+ - ]?\ d *

匹配此正则表达式的输入有效性