switch(String s)是在jdk1.7之后才出现,但是编译器又要求使用较低版本。

switch (op) {
        case "+":
            result=d1+d2;
            break;
        case "-":
            result=d1-d2;
            break;
        case "×":
            result=d1*d2;
            break;
        case "÷":
            result=d1/d2;
            break;
        default:
            break;
        }

在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。现在jdk1.7中switch语句可以支持String类型的参数。所以我们的jdk改为1.7版本。但是改了之后发现以下问题:
Android requires compiler compliance level 5.0 or 6.0. Found ‘1.7’ instead.即要求使用较低版本(要求把1.7改为1.5或者1.6)。
网上找了很久都找不到完美解决这个问题的办法,只能用替换的办法做了。

if(op.equals("+")){
    result=d1+d2;
}
if(op.equals("-")){
    result=d1-d2;
}
if(op.equals("×")){
    result=d1*d2;
}
if(op.equals("÷")){
    result=d1/d2;
}

这样就行了,当然,里面的除法逻辑不完善,这个不是重点,只是提供一个思想的转换。诶,其实我是处女座来的,如果大家对上面的问题有什么解决办法,可以一起探讨哈。

你可能感兴趣的:(java-se,android开发)