if else if语句的判断条件不能相同,否则后边else if的判断条件会自动忽略,如刚才做的代码,本来想通过设置-1来确定是否获取到对应字符的位置,如果未获取到,返回值为-1,在后边的else if的判断条件里继续判断。但是经过测试只能用下列形式实现。
if(fuhaoindex1==-1){
fuhaoindex1 = text.indexOf('+');
Log.i("tag", "这次是+号");
Log.i("tag", "第一次运算符号的位置"+String.valueOf(fuhaoindex1));
}
if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('-');
Log.i("tag", "这次是-号");
Log.i("tag", "符号的位置"+String.valueOf(fuhaoindex1));
}
if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('×');
Log.i("tag", "这次是×号");
}
if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('÷');
Log.i("tag", "这次是÷号");//这里要用单引号,注意
}
这样可以正常判断,但是如果
if(fuhaoindex1==-1){
fuhaoindex1 = text.indexOf('+');
Log.i("tag", "这次是+号");
Log.i("tag", "第一次运算符号的位置"+String.valueOf(fuhaoindex1));
}
else if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('-');
Log.i("tag", "这次是-号");
Log.i("tag", "符号的位置"+String.valueOf(fuhaoindex1));
}
else if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('×');
Log.i("tag", "这次是×号");
}
else if (fuhaoindex1==-1) {
fuhaoindex1 = text.indexOf('÷');
Log.i("tag", "这次是÷号");//这里要用单引号,注意
}
就会只判断上边的+号部分,下边的所有判断自动跳过。