给定一个字符串
7 + 45 * 65
如何检查此字符串的给定字符是否为整数,然后将整数值存储在整数变量中?
E.g。对于65,检查6是否为整数,如果是,则将65存储在另一个整数变量中。您可以假设该字符串可以转换为字符数组。
答案 0 :(得分:2)
鉴于这看起来像下面的作业是一些解释和存储每个整数值的简单方法的提示。
Character
课程的API文档。这将包含确定字符是否为数字的方法。StringBuilder
存储中间数值结果。Integer
类API,了解有助于解析String
值(存储在StringBuilder
中)并将其转换为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){}