嵌套,否则无法正常工作

时间:2011-04-05 09:37:32

标签: android if-statement

我的嵌套if else无效。

以下是代码:

if(s.getSelectedItem().toString().equals("Margherita")){
    if(s1.getSelectedItem().toString().equals("Personal")){
        rowbill=65*n;
    }
            if(s1.getSelectedItem().toString().equals("Medium")){
        rowbill=125*n;
    }
            if(s1.getSelectedItem().toString().equals("Family")){
        rowbill=240*n;
    }

}else if(s.getSelectedItem().toString().equals("Simply Veg")){
    if(s1.getSelectedItem().toString().equals("Personal")){
        rowbill=75*n;
    }
    if(s1.getSelectedItem().toString().equals("Medium")){
        rowbill=145*n;
    }
    if(s1.getSelectedItem().toString().equals("Family")){
        rowbill=285*n;
    }
}else if(s.getSelectedItem().toString().equals("Veggie Crunch")){
    if(s1.getSelectedItem().toString().equals("Personal")){
        rowbill=100*n;
    }
    if(s1.getSelectedItem().toString().equals("Medium")){
        rowbill=195*n;
    }
    if(s1.getSelectedItem().toString().equals("Family")){
        rowbill=350*n;
    }
}   

3 个答案:

答案 0 :(得分:2)

由于您可能没有发现编译器出现故障,因此问题在于您的结构。

通过删除else来简化它。是的,你每次最多会做两个String equals()。你可以得到它。

将其写为

System.out.println("Marguerite");
if (s.getSelectedItem().toString().equals("Marguerite")) {
    System.out.println("Marguerite");
    ....
}
if (s.getSelectedItem().toString().equals("Simply Veg")) {
    System.out.println("Simply Veg");
    ....
}

然后更容易发现错误。一旦解决了,你可以回到嵌套的if-else-如果你愿意的话。

答案 1 :(得分:0)

我认为缺少或额外的' {','}'某处。

可能是一个逻辑错误,因为编译器没有显示错误或警告。

答案 2 :(得分:0)

它可能有用......

`if(s.getSelectedItem().toString().trim().equals("Margherita")){
if(s1.getSelectedItem().toString().trim().equals("Personal")){
    rowbill=65*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Medium")){
    rowbill=125*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Family")){
    rowbill=240*n;
}

}else if(s.getSelectedItem().toString().trim().equals("Simply Veg")){
if(s1.getSelectedItem().toString().trim().equals("Personal")){
    rowbill=75*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Medium")){
    rowbill=145*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Family")){
    rowbill=285*n;
}
}else if(s.getSelectedItem().toString().trim().equals("Veggie Crunch")){
if(s1.getSelectedItem().toString().trim().equals("Personal")){
    rowbill=100*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Medium")){
    rowbill=195*n;
}
else if(s1.getSelectedItem().toString().trim().equals("Family")){
    rowbill=350*n;
}
}`