如何从java中的字符串中读取和提取整数

时间:2010-02-11 17:58:25

标签: java

给定一个字符串

7 + 45 * 65

如何检查此字符串的给定字符是否为整数,然后将整数值存储在整数变量中?

E.g。对于65,检查6是否为整数,如果是,则将65存储在另一个整数变量中。您可以假设该字符串可以转换为字符数组。

4 个答案:

答案 0 :(得分:2)

鉴于这看起来像下面的作业是一些解释和存储每个整数值的简单方法的提示。

  • 查看Character课程的API文档。这将包含确定字符是否为数字的方法。
  • 在您读取数字的每个数字时,请考虑使用StringBuilder存储中间数值结果。
  • 检查Integer类API,了解有助于解析String值(存储在StringBuilder中)并将其转换为int的方法。
  • 最后,考虑使用List(例如LinkedList)来存储int值。

答案 1 :(得分:1)

在完全相同的主题上查看此帖子:

Java Programming - Evaluate String math expression

看起来BeanShell有最干净的方法来完成你需要的工作。您也可以尝试使用JavaScript Engine方法(尽管BeanShell对我来说看起来更干净)。

答案 2 :(得分:1)

最简单的解决方案是使用java.util.Scanner。您可以设置Scanner.useDelimeter("\\D+"),这意味着跳过任何非数字字符,然后调用Scanner.nextInt()从字符串中获取下一个整数。

如果您想使用字符,请使用Character.isDigit(char c)

答案 3 :(得分:1)

对于快速而肮脏的解决方案,我会使用StringTokenizer并尝试{Integer.parseInt()} catch(NumberFormatException){}