我有一个包含这样的文本文件 - 23 + 3 我必须做数学并在不同的文本文件中写ans。 我尝试过scan.nextInt()方法。但是在扫描" +"时显示异常。 在这里有任何帮助忽略其他字符??
答案 0 :(得分:3)
您可以使用正则表达式来匹配数字,
String regex = "[0-9]+";
或
String regex = "\\d+";
其中+表示“一个或多个”,\ d表示“数字”。
注意:“双斜杠”会给你一个斜杠。 “\ d”给你:\ d
将正则表达式传递给模式:
Pattern p = Pattern.compile(regex);
然后在输入字符串中查找匹配项
Matcher m1 = p.matcher(inputString);
答案 1 :(得分:0)
假设您只有一个加法运算符。您可以拆分+
符号。
String[] arr = "23+3".split("+"); // returns ['23', '3']
现在,您将遍历String数组,将每个条目转换为整数,并对整个数组求和。
您可以扩展此方法以使用减法/乘法/除法等。但是,您可能希望查找为Abstract Syntax Tree。看看这个StackOverflow答案: