我正在做一个订购冰淇淋的程序,用户首先应该在圆锥形或杯形之间选择(作为按钮),当他单击按钮时,总显示在“文本”字段中,然后他可以继续选择口味作为复选框,并且每当他添加额外的风味时,总计就会增加
问题是,当我开始单击按钮时,它会显示总计,但是当我选择一种口味时,总计却没有添加,而是被该口味的价格所取代,当我返回选择圆锥形或杯形时,它将将我选择的价格加到总计
public void actionPerformed(ActionEvent e){
String a = e.getActionCommand();
total = 0;
if(a.equals("cone")){
total = (total +7);
t1.setText(Double.toString(total));
} else if(a.equals("cup")){
total = (total +5);
t1.setText(Double.toString(total));
}
if(RB3.isSelected()){
total = total +7;
t1.setText(Double.toString(total));
}
if(RB2.isSelected()){
total = (total +7);
t1.setText(Double.toString(total));
}if(RB1.isSelected()){
total = (total +7);
t1.setText(Double.toString(total));
这是actionPerformed的代码
答案 0 :(得分:0)
在动作例程程序开始时,您将total
设置为0。如果要使其反映单击按钮之前所具有的值,则需要在例程之外声明它,以便在添加到它时仍具有先前的值。
编辑:我看到在将total
设置为0之后,您添加了圆锥和杯形,但是仅当action命令指示用户对此动作选择了一个时,才添加圆锥和杯。如果在选择口味时,动作命令与锥体或杯子不同,则总数将保持为0;否则,total将获得杯形或圆锥形的值。该值可能与操作前total
的值不同。