有没有人会用JAVA编程的啊?写一个简单的计算器,可以加减乘除就可以了?急用啊。谢谢,

把没行代码的注解也写了吧,不然看不懂啊!... 把没行代码的注解也写了吧,不然看不懂啊! 展开
 我来答
pangzhiming
2013-06-14 · TA获得超过374个赞
知道小有建树答主
回答量:787
采纳率:100%
帮助的人:348万
展开全部
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculator extends JPanel implements ActionListener {
  private JTextField display = new JTextField("0");
  private String buttonText = "789/456*123-0.=+";
  private double result = 0;
  private String operator = "=";
  private boolean calculating = true;
  public Calculator() {
    setLayout(new BorderLayout());
    display.setEditable(false);
    add(display, "North");
    JPanel p = new JPanel();
    p.setLayout(new GridLayout(4, 4));
    for (int i = 0; i < buttonText.length(); i++) {
      JButton b = new JButton(buttonText.substring(i, i + 1));
      p.add(b);
      b.addActionListener(this);
    }
    add(p, "Center");
  }
  public void actionPerformed(ActionEvent evt) {
    String cmd = evt.getActionCommand();
    if ('0' <= cmd.charAt(0) && cmd.charAt(0) <= '9' || cmd.equals(".")) {
      if (calculating)
        display.setText(cmd);
      else
        display.setText(display.getText() + cmd);
      calculating = false;
    } else {
      if (calculating) {
        if (cmd.equals("-")) {
          display.setText(cmd);
          calculating = false;
        } else
          operator = cmd;
      } else {
        double x = Double.parseDouble(display.getText());
        calculate(x);
        operator = cmd;
        calculating = true;
      }
    }
  }
  private void calculate(double n) {
    if (operator.equals("+"))
      result += n;
    else if (operator.equals("-"))
      result -= n;
    else if (operator.equals("*"))
      result *= n;
    else if (operator.equals("/"))
      result /= n;
    else if (operator.equals("="))
      result = n;
    display.setText("" + result);
  }
  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setTitle("Calculator");
    frame.setSize(200, 200);
    frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
    Container contentPane = frame.getContentPane();
    contentPane.add(new Calculator());
    frame.show();
  }
}
追问
可以加注解不?看不懂的……
大掌盘子
2013-06-14 · TA获得超过187个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:126万
展开全部

看清楚每一行都有注解。。。

追问
可以写成一篇文档吗?我下来都打不开……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望海潮妙手空空
2013-06-14 · 超过17用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:44.7万
展开全部


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邓涛910814
2013-06-14 · TA获得超过190个赞
知道答主
回答量:198
采纳率:0%
帮助的人:74.8万
展开全部
怎么坑 是不是太坑了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式