不允许使用if或者switch语句 完成下列 在最后一行中输出结果
试试三目运算符
写了一份Java版本的
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args){
calculator("12 - 1888");
}
public static void calculator(String str){
String pattern = "(\\d*)(\\s*)(.)(\\s*)(\\d*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
m.find();
Integer a = Integer.valueOf(m.group(1));
Integer b = Integer.valueOf(m.group(5));
String arith = m.group(3);
HashMap<String,String> map = new HashMap<>();
map.put("+", Integer.toString(a+b));
map.put("-", Integer.toString(a-b));
map.put("*", "error");
map.put("/", "error");
System.out.println(map.get(arith));
}
}