import java.awt.event.*; import javax.swing.*;
public class JiSuanQi extends JFrame implements ActionListener { private JPanel jp1, jp2, jp3, jp4; private JTextField shuru; private JButton n1, n2, n3, n4, n5, n6, n7, n8, n9, n0; private JButton jia, jian, cheng, chu, dian, deng; private JButton sqrt, pingfang, daoshu, baifenhao; private JButton qingchu, guiling, a, zhengfu; private boolean jiaf, jianf, chengf, chuf, end; private double num1, num2; Color c1 = Color.blue; Color c2 = Color.red; public JiSuanQi() { super(\"计算器-程鹏\"); n1 = new JButton(\"1\"); n1.setForeground(c1); n2 = new JButton(\"2\"); n2.setForeground(c1); n3 = new JButton(\"3\"); n3.setForeground(c1); n4 = new JButton(\"4\"); n4.setForeground(c1); n5 = new JButton(\"5\"); n5.setForeground(c1); n6 = new JButton(\"6\"); n6.setForeground(c1); n7 = new JButton(\"7\"); n7.setForeground(c1); n8 = new JButton(\"8\"); n8.setForeground(c1); n9 = new JButton(\"9\"); n9.setForeground(c1); n0 = new JButton(\"0\"); n0.setForeground(c1); jia = new JButton(\"+\"); jia.setForeground(c2); jian = new JButton(\"-\"); jian.setForeground(c2); cheng = new JButton(\"×\"); cheng.setForeground(c2); chu = new JButton(\"÷\"); chu.setForeground(c2); dian = new JButton(\".\"); dian.setForeground(c2); deng = new JButton(\"=\"); deng.setForeground(c2); sqrt = new JButton(\"√\"); sqrt.setForeground(c2); pingfang = new JButton(\"x²\");
pingfang.setForeground(c2); daoshu = new JButton(\"1/x\"); daoshu.setForeground(c2);
baifenhao = new JButton(\"%\"); baifenhao.setForeground(c2); a = new JButton();
zhengfu = new JButton(\"±\"); a.setEnabled(false);
qingchu = new JButton(\"Back\"); qingchu.setForeground(c2); guiling = new JButton(\"CE\"); guiling.setForeground(c2);
shuru = new JTextField(\"0\", 24);
shuru.setHorizontalAlignment(JTextField.RIGHT); shuru.setEnabled(false); jp1 = new JPanel();
jp1.setBackground(Color.LIGHT_GRAY); jp1.add(shuru);
jp2 = new JPanel(null);
jp2.setLayout(new GridLayout(4, 5, 10, 10)); jp2.setBackground(Color.LIGHT_GRAY); jp2.add(n7); jp2.add(n8); jp2.add(n9); jp2.add(jia); jp2.add(sqrt); jp2.add(n4); jp2.add(n5); jp2.add(n6); jp2.add(jian); jp2.add(daoshu);
jp2.add(n1); jp2.add(n2); jp2.add(n3); jp2.add(cheng); jp2.add(pingfang); jp2.add(dian); jp2.add(n0); jp2.add(deng); jp2.add(chu);
jp2.add(baifenhao);
n1.addActionListener(this); n2.addActionListener(this); n3.addActionListener(this); n4.addActionListener(this); n5.addActionListener(this); n6.addActionListener(this); n7.addActionListener(this); n8.addActionListener(this); n9.addActionListener(this);
}
n0.addActionListener(this); jia.addActionListener(this); jian.addActionListener(this); cheng.addActionListener(this); chu.addActionListener(this); dian.addActionListener(this); deng.addActionListener(this); qingchu.addActionListener(this); guiling.addActionListener(this); shuru.addActionListener(this); sqrt.addActionListener(this);
pingfang.addActionListener(this); daoshu.addActionListener(this); baifenhao.addActionListener(this); zhengfu.addActionListener(this);
jp3 = new JPanel(new GridLayout(1, 4, 10, 20)); jp3.setBackground(Color.LIGHT_GRAY); jp3.add(a);
jp3.add(zhengfu); jp3.add(qingchu); jp3.add(guiling);
jp4 = new JPanel(null);
jp4.setLayout(new GridLayout(2, 1, 10, 40)); jp4.setBackground(Color.LIGHT_GRAY); jp4.add(jp1); jp4.add(jp3);
BorderLayout br = new BorderLayout(0, 20); this.setLayout(br);
add(jp4, BorderLayout.NORTH); add(jp2, BorderLayout.CENTER);
setResizable(true); setSize(330, 370);
setLocation(500, 300); setVisible(true);
public void number(int i) { if (end) { shuru.setText(\"0\"); end = false; } String s; if (shuru.getText().trim().indexOf(\".\") != -1) { dian.setEnabled(false); } else { dian.setEnabled(true); }
if (shuru.getText().equals(\"0\") || shuru.getText().equals(\"+\") || shuru.getText().equals(\"-\") || shuru.getText().equals(\"×\") || shuru.getText().equals(\"÷\")) { shuru.setText(\"\"); }
}
s = String.valueOf(i);
shuru.setText(shuru.getText() + s);
public void houtui(String s) { int n; n = s.length(); shuru.setText(s.substring(0, n - 1)); }
public void yunsuan() { if (jiaf) { num1 = num1 + num2; } else if (chengf) { num1 = num1 * num2; } else if (chuf) { num1 = num1 / num2; } else if (jianf) { num1 = num1 - num2; } else { num1 = num2; } }
public void clearPoint(double b) { String st = String.valueOf(b); if (st.endsWith(\".0\")) { int n = st.length(); st = st.substring(0, n - 2); } shuru.setText(st); }
public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals(\"1\")) { number(1); } else if (s.equals(\"2\")) { number(2); } else if (s.equals(\"3\")) { number(3); } else if (s.equals(\"4\")) { number(4); } else if (s.equals(\"5\")) { number(5); } else if (s.equals(\"6\")) { number(6); } else if (s.equals(\"7\")) { number(7); } else if (s.equals(\"8\")) { number(8); } else if (s.equals(\"9\")) {
number(9);
} else if (s.equals(\"0\")) { number(0);
} else if (s.equals(\"CE\")) { shuru.setText(\"0\");
} else if (s.equals(\"Back\")) { houtui(shuru.getText()); } else if (s.equals(\"+\")) { num1 = Double.parseDouble(shuru.getText()); shuru.setText(\"+\"); jiaf = true; jianf = false; chengf = false; chuf = false;
} else if (s.equals(\"-\")) { num1 = Double.parseDouble(shuru.getText()); shuru.setText(\"-\"); jianf = true; jiaf = false; chengf = false; chuf = false;
} else if (s.equals(\"×\")) { num1 = Double.parseDouble(shuru.getText()); shuru.setText(\"×\"); chengf = true; jiaf = false; jianf = false; chuf = false;
} else if (s.equals(\"÷\")) { num1 = Double.parseDouble(shuru.getText()); shuru.setText(\"÷\"); chuf = true; jiaf = false; jianf = false; chengf = false;
} else if (s.equals(\"=\")) { num2 = Double.parseDouble(shuru.getText()); yunsuan(); clearPoint(num1); chuf = false; jiaf = false; jianf = false; chengf = false; end = true; } else if (s.equals(\".\")) { String st; st = shuru.getText() + \".\"; shuru.setText(st);
} else if (s.equals(\"√\")) { num1 = Double.parseDouble(shuru.getText()); double b = Math.sqrt(num1); clearPoint(b); end = true;
}
}
} else if (s.equals(\"x²\")) { num1 = Double.parseDouble(shuru.getText()); double b = Math.pow(num1, 2); clearPoint(b); end = true;
} else if (s.equals(\"1/x\")) { num1 = Double.parseDouble(shuru.getText()); double b = 1 / num1; clearPoint(b); end = true;
} else if (s.equals(\"%\")) { num1 = Double.parseDouble(shuru.getText()); double b = num1 / 100; clearPoint(b); end = true;
} else if (s.equals(\"±\")) { double m = Double.parseDouble(shuru.getText()); if (String.valueOf(m).equals(\"0\")) { shuru.setText(\"\"); } String st=(\"\" +(-m)); m=Double.parseDouble(st); clearPoint(m); }
public static void main(String[] args) { JiSuanQi jsq = new JiSuanQi(); }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务