这是一个能做加减乘除的java小程序,点击计算后,窗口马上消失,看不到结果,请问是为什么? 20

importjava.awt.*;importjava.awt.event.*;publicclassJisuanqiimplementsActionListener{F... import java.awt.*;
import java.awt.event.*;
public class Jisuanqi implements ActionListener
{
Frame f;
Panel p1,p2,p3;
Label lb1,lb2,lb3;
TextField tf1,tf2,tf3;
Button btn1,btn2;
CheckboxGroup cbg;
Checkbox cbg1,cbg2,cbg3,cbg4;
double Jisuanqi;
public static void main(String args[])
{
Jisuanqi jisuanqi=new Jisuanqi();
jisuanqi.go();
}
public void go()
{
f=new Frame("计算器");
f.setSize(400,180);
p1=new Panel();
p2=new Panel();
p3=new Panel();
tf1=new TextField(10);
lb1=new Label("操作数1:");
lb2=new Label("结果:");
tf3=new TextField(10);
lb3=new Label("操作数2:");
btn1=new Button("计算:");
btn2=new Button("结束:");
p1.add(lb1);
p1.add(tf1);
p1.add(lb3);
p1.add(tf3);
cbg=new CheckboxGroup();
cbg1=new Checkbox("加",true,cbg);
cbg2=new Checkbox("减",true,cbg);
cbg3=new Checkbox("乘",true,cbg);
cbg4=new Checkbox("除",true,cbg);
tf2=new TextField(10);
p2.add(cbg1);
p2.add(cbg2);
p2.add(cbg3);
p2.add(cbg4);
p2.add(lb2);
p2.add(tf2);
p3.add(btn1);
p3.add(btn2);
btn1.addActionListener(this);
btn2.addActionListener(this);
f.add(p1,"North");
f.add(p2,"Center");
f.add(p3,"South");
f.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{
String yy,ll,total;
double ab,cd;
yy=ae.getActionCommand();
if(yy.equals("计算"))
{
yy=tf1.getText();
ll=tf3.getText();
ab=Double.parseDouble(yy);
cd=Double.parseDouble(ll);
if(cbg1.getState()==true);
Jisuanqi=ab+cd;
if(cbg2.getState()==true);
Jisuanqi=ab-cd;
if(cbg3.getState()==true);
Jisuanqi=ab*cd;
if(cbg4.getState()==true);
Jisuanqi=ab/cd;
total=Double.toString(Jisuanqi);
tf2.setText(total);
}
else
{
System.exit(0);
}
}
}
展开
 我来答
淡如水_2012900
2012-10-04
知道答主
回答量:21
采纳率:0%
帮助的人:10.6万
展开全部
"计算:".equals("计算")可以使用字符串仅仅比较前缀的方法也可以达到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渡边贵志
2012-10-03 · 超过12用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:18.2万
展开全部
我运行了一下,第二个计算没有冒号,而且建议你用ae.getSource()来做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
780605883
2012-10-05
知道答主
回答量:32
采纳率:0%
帮助的人:18.4万
展开全部
“计算:”不等于“计算”,所以,执行system.exit(0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
熊依琴ir
2012-10-03 · TA获得超过378个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:540万
展开全部
在main方法的最后加入代码:

BufferedReader br = new BufferedReader(new InputStreamReader( System.in ) ) ;
br.readLine( );
追问
加了,但是没起作用,还是自己关掉了
追答
我好久没写了.应该是有一个读入操作在不停的读入控制台的读入,这样窗口才不会自己关闭.上网搜搜吧.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2012-10-03 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2336万
展开全部
"计算:".equals("计算") == false 所以 System.exit(0)
追问
那该怎么改呢?
追答
btn1=new Button("计算");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式