问题
考虑一串数字123456789
。考虑可以通过放置+
或-
散布在字符串中形成的所有算术表达式。例子:
1 + 2 - 345 + 67 - 8 - 9 = 292
123456 - 789 = 122667
编写一个 Java 程序,该程序使用堆栈来查找具有值的这种组合2012
。
我的问题
我被逻辑困住了,因为我们必须使用两个算术运算符。
import java.util.*;
public class arithmeticStack {
public static void main (String args[]) {
ArrayList<String> dg = new ArrayList<String>();
Stack<String> digits = new Stack<String>();
int number = 0;
dg.add("1");
dg.add("2");
dg.add("3");
dg.add("4");
dg.add("5");
dg.add("6");
dg.add("7");
dg.add("8");
dg.add("9");
for (int i = 0; i <= dg.size() - 1; i++) {
digits.push(dg.get(i));
}
for (String f : digits){
number += Integer.parseInt(f);
}
while (number == 2012) {
}
}
}