我认为&
你需要&&
在你的if语句中加倍.
改变这个:
if (typeOfCarCost.equals("Electric") || (typeOfCarCost.equals("electric") & (SolarPanelCost.equals("No") || (SolarPanelCost.equals("no")))))
对此:
if (typeOfCarCost.equals("Electric") || (typeOfCarCost.equals("electric") &&(SolarPanelCost.equals("No") || (SolarPanelCost.equals("no")))))
同样在你的其他if
陈述中.改变那个!
在旁注:
正如RhinoFeeder在下面评论的那样,重要的是要了解&和&&之间的区别.所以区别很简单:
&&是合乎逻辑的.它评估操作的左侧,如果是,则继续并评估右侧.
&是按位AND.它评估操作的两个方面.
编辑:-
即使你的编辑后你错过了&在这里
& SolarPanelSelected.equals("Yes")
尝试更改if else块,如下所示:
if ((typeOfCarCost.equals("Electric") || typeOfCarCost.equals("electric")) && ((SolarPanelCost.equals("No") || SolarPanelCost.equals("no"))) { total = basicPrice + ElectricModel; System.out.println("Basic Price:" + basicPrice); System.out.println("Electric Model:" + ElectricModel); System.out.println("Total:" + total); } else if ((typeOfCarCost.equals("Electric") || typeOfCarCost.equals("electric")) && (SolarPanelCost.equals("Yes") || SolarPanelCost.equals("yes"))) { total = basicPrice + ElectricModel + SolarPanel; System.out.println("Basic Price:" + basicPrice); System.out.println("Electric Model:" + ElectricModel); System.out.println("Solar Panel:" + SolarPanel); System.out.println("Total:" + total); } else { total += basicPrice; System.out.println("Basic Price:" + basicPrice); System.out.println("Total:" + total); }