前言
大二开始学JAVA了,想把自己写的程序记录一下,见证自己的进步
任务
Java实现四则运算器,升级版,用单选按钮实现四则运算。
代码
图形界面样例如下:
代码如下:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Calculator {
JFrame jf = null;
JPanel jpNorth = null;
JPanel jpCenter = null;
JPanel jpSouth = null;
JPanel center1 = null;
JPanel center2 = null;
JRadioButton plus = null;
JRadioButton minus = null;
JRadioButton multi = null;
JRadioButton division = null;
JTextField jt1 = null;
JTextField jt2 = null;
JLabel sign = null;
JLabel equalSign = null;
JLabel ans = null;
JLabel versionAndCopyright = null;
JLabel instruction = null;
JButton jb = null;
JButton reset = null;
ButtonGroup gp = new ButtonGroup();
Calculator() {
jf = new JFrame("四则计算器V1.1.0 作者BeiyingC");
jf.setSize(500, 200);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jpNorth = new JPanel();
jpCenter = new JPanel();
jpSouth = new JPanel();
center1 = new JPanel();
center2 = new JPanel();
jf.add(BorderLayout.NORTH, jpNorth);
jf.add(BorderLayout.CENTER, jpCenter);
jf.add(BorderLayout.SOUTH, jpSouth);
instruction = new JLabel("请选择您要进行的运算并在框中输入想要计算的实数 ");
reset = new JButton("重置");
reset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jt1.setText("");
jt2.setText("");
ans.setText("");
}
});
jpNorth.add(instruction);
jpNorth.add(reset);
jt1 = new JTextField(14);
jt2 = new JTextField(14);
sign = new JLabel("+");
equalSign = new JLabel("=");
ans = new JLabel(" ");
jb = new JButton("计算");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try {
if (plus.isSelected()) {
double ans123 = Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText());
ans.setText(""+ans123);
}
else if(minus.isSelected()) {
double ans123 = Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText());
ans.setText(""+ans123);
}
else if(multi.isSelected()) {
double ans123 = Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText());
ans.setText(""+ans123);
}
else if(division.isSelected()) {
double ans123 = Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText());
ans.setText(""+ans123);
}
}
catch(NumberFormatException e66) {
JDialog dialog = new JDialog(jf,"错误",true);
dialog.setSize(100, 50);
JLabel jkl = new JLabel("请输入整数谢谢!");
dialog.add(jkl);
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
}
catch(Exception klj) {
JDialog dial = new JDialog(jf,"错误",true);
dial.setSize(100, 50);
JLabel jkl = new JLabel("程序运行出错");
dial.add(jkl);
dial.setLocationRelativeTo(null);
dial.setVisible(true);
}
}
});
plus = new JRadioButton("加法",true);
plus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
sign.setText("+");
}
});
minus = new JRadioButton("减法");
minus.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
sign.setText("-");
}
});
multi = new JRadioButton("乘法");
multi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
sign.setText("×");
}
});
division = new JRadioButton("除法");
division.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
sign.setText("÷");
}
});
gp.add(plus);
gp.add(minus);
gp.add(multi);
gp.add(division);
jpCenter.setLayout(new GridLayout(2, 1));
jpCenter.add(center1);
jpCenter.add(center2);
center1.add(jt1);
center1.add(sign);
center1.add(jt2);
center1.add(equalSign);
center1.add(ans);
center1.add(jb);
center2.add(plus);
center2.add(minus);
center2.add(multi);
center2.add(division);
versionAndCopyright = new JLabel("Version:1.1.0 Copyright@BeiyingC");
jpSouth.add(versionAndCopyright);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
@SuppressWarnings("unused")
Calculator calculator1 = new Calculator();
}
}