[求助]计算器加法实现

Crystal_jj 2005-11-11 06:21:26
谁能帮我看下程序,为什么我设置的计算器的加法代码不能实现,编译的结果是值在原来的结果上一直往上加,应该改哪里好呢?还有是当我按第二个加数时不能覆盖掉第一个加数,我写了清空的那句话了,不知道为什么啊?先谢谢大家了!
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class J_jisuan extends JFrame{
private JTextField[]m_textField={
new JTextField("",22)};
private JButton[]m_button={new JButton("1"),new JButton("2"),
new JButton("3"),new JButton("4"),
new JButton("5"),new JButton("6"),
new JButton("7"),new JButton("8"),
new JButton("9"),new JButton("0"),
new JButton(".")
};
private JButton[]n_button={ new JButton("+"),new JButton("-"),
new JButton("*"),new JButton("/"),
new JButton("="),new JButton("C")
};
Panel p1=new Panel();Panel p2=new Panel();
int i;
int f=0;
double x,y=0;


public J_jisuan(){
super("Calculator");
Container container=getContentPane();
container.setLayout(new BorderLayout());
container.add(p1,BorderLayout.NORTH);
container.add(p2,BorderLayout.CENTER);

p1.setLayout(new FlowLayout(FlowLayout.LEFT));

p2.setLayout(new GridLayout(6,3));





p1.add(m_textField[0]);
for(int i=0;i<11;i++)
p2.add(m_button[i]);
for(int i=0;i<6;i++)
p2.add(n_button[i]);




J_Handler handler =new J_Handler();
m_textField[0].addActionListener(handler);
for(int i=0;i<11;i++)
m_button[i].addActionListener(handler);
for(int i=0;i<6;i++)
n_button[i].addActionListener(handler);


setSize(260,200);
setVisible(true);

}

private class J_Handler implements ActionListener{
public void actionPerformed(ActionEvent event){
String s="";
s=s+event.getActionCommand();
for(int i=0;i<11;i++){
if(event.getSource()==m_button[i])

m_textField[0].setText(m_textField[0].getText()+event.getActionCommand());
}
if(event.getSource()==n_button[5]){//清除处理
m_textField[0].setText("");
x=0;f=0;s="";

}
if(event.getSource()==n_button[0]){//加号处理
x=Double.parseDouble(m_textField[0].getText());
m_textField[0].setText("");
m_textField[0].setText(""+(y+x));
y=y+x;f=1;
}


if(event.getSource()==n_button[4]){//等号处理
x=Double.parseDouble(m_textField[0].getText());
if(f==1) m_textField[0].setText(""+(y+x));
y=0;
m_textField[0].setText(s+m_textField[0].getText());
}

}


}

public static void main(String []args){
J_jisuan application=new J_jisuan();

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crystal_jj 2005-11-11
  • 打赏
  • 举报
回复
哎,哪位高手能帮下忙呢?我好头疼啊,我的思路真的错了吗?
Tangxiang 2005-11-11
  • 打赏
  • 举报
回复
爱莫能助啊!我没有学过啊

Crystal_jj 2005-11-11
  • 打赏
  • 举报
回复
难道真的没有人有空能为我指点一下迷津吗?我真的不知道怎么改了............

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧