需要帮助解决Java字符串问题吗

需要帮助解决Java字符串问题吗,java,android,string,function,Java,Android,String,Function,我正在用android开发一个可编程计算器。我以字符序列的形式获取用户输入,然后将其转换为字符串。但在将它们放入堆栈之前,我必须检查输入是整数还是符号。 我基本上是从C++背景来的。因此,我很难找到合适的功能来完成这项工作。任何帮助都将不胜感激。两种可能的解决方案: 您可以创建一个用于检查字符串是否为数字的 您可以尝试使用 ,并捕获抛出的异常[]-如果它不是 号码 第一个最有可能比第二个更有效不允许用户在文本框(Edittext)中输入文本和特殊字符。当用户在文本框中输入数字时,将该数字转换为整

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


我基本上是从C++背景来的。因此,我很难找到合适的功能来完成这项工作。任何帮助都将不胜感激。

两种可能的解决方案:

  • 您可以创建一个用于检查字符串是否为数字的
  • 您可以尝试使用 ,并捕获抛出的异常[]-如果它不是 号码

  • 第一个最有可能比第二个更有效不允许用户在文本框(Edittext)中输入文本和特殊字符。当用户在文本框中输入数字时,将该数字转换为整数,如下所示integer.parseInt(yourstring)

    如果用户未输入数字,则需要使用
    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());
    }
    

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

    匹配此正则表达式的输入验证,谢谢您的回答。现在我了解了如何检查输入是否为int。但是,在下一步中,当我确定某些输入不是整数时,如何检查该输入是否为+、-、*或/号。