62,621
社区成员
发帖
与我相关
我的任务
分享String str = "@2.1@2-6@@-11.@4";
int len = str.length();
LinkedList<Integer> list = new LinkedList<Integer>();
boolean newElement = false, nag = false;
for(int i = 0; i < len; i++) {
char ch = str.charAt(i);
if(ch >= '0' && ch <= '9') {
int num = ch - 48;
if(list.isEmpty()) {
list.addFirst(num);
} else {
if(newElement) {
list.addFirst(num);
} else {
int first = list.removeFirst();
if(nag) {
if(first == '-') {
list.addFirst(-1 * num);
} else {
list.addFirst(first * 10 - num);
}
} else {
list.addFirst(first * 10 + num);
}
}
}
newElement = false;
} else if(ch == '-') {
if(newElement) {
list.addFirst((int) ch);
nag = true;
newElement = false;
} else {
newElement = true;
}
} else {
newElement = true;
nag = false;
}
}
System.out.println(list);
int t = 1;
for(int i : list) {
t *= i;
}
System.out.println(t);
public static void main(String[] args) throws ScriptException {
String s = "2@2@3@13";
s = s.replaceAll("@", "*");
ScriptEngineManager fac = new ScriptEngineManager();
ScriptEngine engine = fac.getEngineByName ("JavaScript");
Object o = engine.eval(s);
System.out.println(o);
}
String str = "2@2@3@13";
String[] data = str.split("@");
BigInteger bi = new BigInteger("1");
for(int i = 0; i < data.length; ++i){
bi = bi.multiply(new BigInteger(data[i]));
}
System.out.println(bi);