62,614
社区成员
发帖
与我相关
我的任务
分享
package com.jisuanqi;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Jisuanqi implements ActionListener {
// 定义成员变量
private JFrame jf;
private JPanel jp1;
private JPanel jp2;
private JPanel jp3;
private JButton[] jb;
private JTextField jt;
public Jisuanqi() {
jf = new JFrame();
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jt = new JTextField(15);
jb = new JButton[17];
jb[0] = new JButton("7");
jb[1] = new JButton("8");
jb[2] = new JButton("9");
jb[3] = new JButton("+");
jb[3].setForeground(Color.red); // 设置按钮上字的颜色
jb[4] = new JButton("4");
jb[5] = new JButton("5");
jb[6] = new JButton("6");
jb[7] = new JButton("-");
jb[7].setForeground(Color.red);
jb[8] = new JButton("1");
jb[9] = new JButton("2");
jb[10] = new JButton("3");
jb[11] = new JButton("*");
jb[11].setForeground(Color.red);
jb[12] = new JButton("0");
jb[13] = new JButton(".");
jb[14] = new JButton("=");
jb[15] = new JButton("/");
jb[15].setForeground(Color.red);
jb[16] = new JButton("C");
jb[16].setForeground(Color.red);
jp2.setLayout(new GridLayout(5, 4));
// 添加组件
for (int i = 0; i < jb.length; i++) {
jp2.add(jb[i]);
jb[i].addActionListener(this);
}
jp1.add(jt);
jp3.add(jp1, BorderLayout.SOUTH);
jp3.add(jp2, BorderLayout.NORTH);
// 设置窗口的属性
jf.add(jp3);
jf.setTitle("计算器");
jf.setLocation(520, 300);
jf.setSize(173, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setResizable(false);
jf.setVisible(true);
}
public static void main(String[] args) {
Jisuanqi j = new Jisuanqi();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object obj = e.getSource();
JButton jb = (JButton) (obj);
String s = jb.getText();
double f = 0;
String[] a;
String b;
if (e.getSource() != null) {
if(!e.getSource().equals("=")){
jt.setText(jt.getText() + s);
}else{
if (jt.getText().indexOf("+") > 0) {
a = jt.getText().split("+");
f = Double.parseDouble(a[0]) + Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("-") > 0) {
a = jt.getText().split("-");
f = Double.parseDouble(a[0]) - Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("*") > 0) {
a = jt.getText().split("*");
f = Double.parseDouble(a[0]) * Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("/") > 0) {
try {
a = jt.getText().split("/");
f = Double.parseDouble(a[0])
/ Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
} catch (Exception e2) {
// TODO: handle exception
jt.setText("除数不能为0");
jt.getText();
}
}
if (e.getSource().equals("C")) {
jt.setText(" ");
jt.getText();
}
}
} //else if (e.getSource() != null && e.getSource().equals("=")) {
// if (e.getSource().equals("=")) {
//
// }
//
// } else
}
}
public class Test2 implements ActionListener { // 定义成员变量
private JFrame jf;
private JPanel jp1;
private JPanel jp2;
private JPanel jp3;
private JButton[] jb;
private JTextField jt;
public Test2() {
jf = new JFrame();
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jt = new JTextField(15);
jb = new JButton[17];
jb[0] = new JButton("7");
jb[1] = new JButton("8");
jb[2] = new JButton("9");
jb[3] = new JButton("+");
jb[3].setForeground(Color.red);
// 设置按钮上字的颜色
jb[4] = new JButton("4");
jb[5] = new JButton("5");
jb[6] = new JButton("6");
jb[7] = new JButton("-");
jb[7].setForeground(Color.red);
jb[8] = new JButton("1");
jb[9] = new JButton("2");
jb[10] = new JButton("3");
jb[11] = new JButton("*");
jb[11].setForeground(Color.red);
jb[12] = new JButton("0");
jb[13] = new JButton(".");
jb[14] = new JButton("=");
jb[15] = new JButton("/");
jb[15].setForeground(Color.red);
jb[16] = new JButton("C");
jb[16].setForeground(Color.red);
jp2.setLayout(new GridLayout(5, 4));
// 添加组件
for (int i = 0; i < jb.length; i++) {
jp2.add(jb[i]);
jb[i].addActionListener(this);
}
jp1.add(jt);
jp3.add(jp1, BorderLayout.SOUTH);
jp3.add(jp2, BorderLayout.NORTH);
// 设置窗口的属性
jf.add(jp3);
jf.setTitle("计算器");
jf.setLocation(520, 300);
jf.setSize(173, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setResizable(false);
jf.setVisible(true);
}
public static void main(String[] args) {
Test2 j = new Test2();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object obj = e.getSource();
JButton jb = (JButton) (obj);
String s= jb.getText();
System.out.println(s);
double f = 0;
String[] a;
String b;
if (s != null) {
if (!s.equals("=")) {
jt.setText(jt.getText() + s);
} else {
if (jt.getText().indexOf("+") > 0) {
System.out.println(jt.getText());
a = jt.getText().split("\\+");
f = Double.parseDouble(a[0]) + Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("-") > 0) {
a = jt.getText().split("-");
f = Double.parseDouble(a[0]) - Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("*") > 0) {
a = jt.getText().split("*");
f = Double.parseDouble(a[0]) * Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
}
if (jt.getText().indexOf("/") > 0) {
try {
a = jt.getText().split("/");
f = Double.parseDouble(a[0]) / Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();
} catch (Exception e2) {
// TODO: handle exception
jt.setText("除数不能为0");
jt.getText();
}
}
if (e.getSource().equals("C")) {
jt.setText(" ");
jt.getText();
}
}
}
}
}