【发布时间】:2017-11-20 21:09:41
【问题描述】:
我想计算如下字符串:
"-4443- +397" // 应该返回 -4840
" -8844443 / -73897 " //应该返回 119
" 4433 * -7 " // 应该返回 -31038
" +4 * -5897 " // 应该返回 -23588
它非常困难和棘手,我不知道我应该如何计算字符串。 问题不是删除空格,而是我应该如何计算上面的字符串。 :(
public static int calc(String input) {
String noSpaces = "";
int i = 0;
while (i < input.length()) {
if (input.charAt(i) != ' ') {
noSpaces = input.charAt(i);
}
i++;
}
【问题讨论】:
-
如果在操作符前加空格,可以使用Scanner来解析字符串。
-
好的,如果您的问题不在于空格,那么您现在的具体问题是什么?你想如何解决问题?需要哪些步骤?您在哪一步有问题?
-
我认为,您的第一个问题是:如何从方程(以字符串形式给出)中提取有符号数(操作数)及其运算符来计算结果?
-
可能,我搜索如何,但正则表达式有一些东西。我对正则表达式一无所知。可能约翰尼说的东西会起作用,我也尝试用 charAt 或子字符串做一些事情。但它只适用于一位数字。
-
这里有一个使用
Scanner的简单方法:ideone.com/r3P0MH
标签: string calculator