0
我正在做一个计算器应用程序,我有一个问题。我无法区分负数和减法。我使用此代码来设置所有数字。计算器问题
ArrayList<Double> doubles;
String[] strings1 = string.split("\\*");
for (String string2 : strings1) {
String[] string3 = string2.split("÷");
for (String string4 : string3) {
String[] string5 = string4.split("\\+");
for (String string6 : string5) {
Log.e("Point_1", "String5 " + string5.toString());
Log.e("Point_1", "String6 " + string6);
String[] string7 = string6.split("\\-");
for (String string8 : string7) {
doubles.add(Double.parseDouble(string8));
}
}
}
}
我得到的是[number1,number2,number3 ...]
(他们都是积极的),而在另一个ArrayList
运营商如[+,-,+,*,- ...]
。我需要的是先将ArrayList(doubles)
所有数字加起来,但如果它们是负数。让我举一个例子。如果我们有像“-3+6
”这样的字符串,那么在双打应该是数字:-3;6
和第二个ArrayList
只有“+
”。反之亦然,如果我们有“6-3
”那么双打我们应该有:6;3
和第二ArrayList
只有“-
”。 我该怎么做?
谢谢。
查看分流码算法。不要删除您的操作员。 –
我会做一个POJO,允许我私人存储一个操作符和一个值 –
Aside:在你的日志语句中,而不是'string5.toString()'你想'Arrays.toString(string5)'。 –