SWUST--Java实验(四) 计算器

package Demo3;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;

public class Caculation extends JFrame {

	private JPanel contentPane;
	private JTextField jf;

	int sum1 = 0, sum2 = 0;
	int sign;
	boolean key = false;

	/**
	 * @author Mr.wen
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Caculation frame = new Caculation();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Caculation() {
		setTitle("\u8BA1\u7B97\u5668");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 226, 317);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		jf = new JTextField();
		jf.setText("0");
		jf.setFont(new Font("宋体", Font.PLAIN, 28));
		jf.setBounds(10, 26, 188, 53);
		contentPane.add(jf);
		jf.setColumns(10);
		
		JButton bt9 = new JButton("9");
		bt9.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 9;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 9;
					jf.setText(sum2+"");
				}
			}
		});
		bt9.setBounds(10, 121, 45, 35);
		contentPane.add(bt9);
		
		JButton bt6 = new JButton("6");
		bt6.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 6;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 6;
					jf.setText(sum2+"");
				}
			}
		});
		bt6.setBounds(10, 157, 45, 35);
		contentPane.add(bt6);
		
		JButton bt3 = new JButton("3");
		bt3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 3;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 3;
					jf.setText(sum2+"");
				}
			}
		});
		bt3.setBounds(10, 194, 45, 35);
		contentPane.add(bt3);
		
		JButton bt8 = new JButton("8");
		bt8.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 8;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 8;
					jf.setText(sum2+"");
				}
			}
		});
		bt8.setBounds(57, 121, 45, 35);
		contentPane.add(bt8);
		
		JButton bt7 = new JButton("7");
		bt7.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 7;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 7;
					jf.setText(sum2+"");
				}
			}
		});
		bt7.setBounds(105, 121, 45, 35);
		contentPane.add(bt7);
		
		JButton bt5 = new JButton("5");
		bt5.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 5;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 5;
					jf.setText(sum2+"");
				}
			}
		});
		bt5.setBounds(57, 157, 45, 35);
		contentPane.add(bt5);
		
		JButton bt2 = new JButton("2");
		bt2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 2;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 2;
					jf.setText(sum2+"");
				}
			}
		});
		bt2.setBounds(57, 194, 45, 35);
		contentPane.add(bt2);
		
		JButton bt4 = new JButton("4");
		bt4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 4;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 4;
					jf.setText(sum2+"");
				}
			}
		});
		bt4.setBounds(105, 157, 45, 35);
		contentPane.add(bt4);
		
		JButton bt1 = new JButton("1");
		bt1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {
					sum1 = sum1 * 10 + 1;
					jf.setText(sum1+"");
				}
				else {
					sum2 = sum2 * 10 + 1;
					jf.setText(sum2+"");
				}
			}
		});
		bt1.setBounds(105, 194, 45, 35);
		contentPane.add(bt1);
		
		JButton bt0 = new JButton("0");
		bt0.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(key == false) {                        //如果没进行加减乘除,则先输入数1
					sum1 = sum1 * 10 ;
					jf.setText(sum1+"");
				}
				else {                                  //进行了加减乘数,输入数2
					sum2 = sum2 * 10 ;
					jf.setText(sum2+"");
				}
			}
		});
		bt0.setBounds(10, 235, 92, 35);
		contentPane.add(bt0);
		
		JButton bn0 = new JButton("C");
		bn0.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				sum1 = 0;
				sum2 = 0;
				key = false;
				jf.setText("0");
			}
		});
		bn0.setBounds(105, 235, 45, 35);
		contentPane.add(bn0);
		
		JButton bn1 = new JButton("+");
		bn1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {           
				key = true;                       //代表已进行加操作,下一步将输入数2
				sign = 1;                          //做好标记,取结果是将进行标记判断
			}
		});
		bn1.setBounds(153, 235, 45, 35);
		contentPane.add(bn1);
		
		JButton bn2 = new JButton("-");
		bn2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				key = true;
				sign = 2;
			}
		});
		bn2.setBounds(153, 121, 45, 35);
		contentPane.add(bn2);
		
		JButton bn3 = new JButton("*");
		bn3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				key = true;
				sign = 3;
			}
		});
		bn3.setBounds(153, 157, 45, 35);
		contentPane.add(bn3);
		
		JButton bn4 = new JButton("/");
		bn4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				key = true;
				sign = 4;
			}
		});
		bn4.setBounds(153, 194, 45, 35);
		contentPane.add(bn4);
		
		JButton bn5 = new JButton("=");
		bn5.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {			
				if(sign == 1) {                          //如果标记为1,则进行+
					sum1 = sum1 + sum2;                  //重新赋值sum1,方便二次运算
					jf.setText(sum1 +"");
					sum2 = 0;                             
					key = false;}                        //运算一次则置为相反
				if(sign == 2) {
					sum1 = sum1 - sum2;
					jf.setText(sum1 +"");
					sum2 = 0;
					key = false;}
				if(sign == 3) {
					sum1 = sum1 * sum2;
					jf.setText(sum1 +"");
					sum2 = 0;
					key = false;}
				if(sign == 4) {
					sum1  = sum1 / sum2; 
					jf.setText(sum1 +"");
					sum2 = 0;
					key = false;}
			}
		});
		bn5.setFont(new Font("宋体", Font.PLAIN, 16));
		bn5.setBounds(10, 83, 188, 35);
		contentPane.add(bn5);
		
		JMenuBar menuBar = new JMenuBar();
		menuBar.setBounds(0, 0, 208, 23);
		contentPane.add(menuBar);
		
		JMenu mnNewMenu = new JMenu("\u67E5\u770B(V)");
		menuBar.add(mnNewMenu);
		
		JMenuItem menuItem = new JMenuItem("\u6807\u51C6\u578B");
		mnNewMenu.add(menuItem);
		
		JMenuItem menuItem_1 = new JMenuItem("\u79D1\u5B66\u578B");
		mnNewMenu.add(menuItem_1);
		
		JMenuItem mntmNewMenuItem = new JMenuItem("\u5355\u4F4D\u8F6C\u6362");
		mnNewMenu.add(mntmNewMenuItem);
		
		JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u5386\u53F2\u8BB0\u5F55");
		mnNewMenu.add(mntmNewMenuItem_1);
		
		JMenuItem menuItem_2 = new JMenuItem("\u5DE5\u4F5C\u8868");
		mnNewMenu.add(menuItem_2);
		
		JMenu mnNewMenu_1 = new JMenu("\u7F16\u8F91(E)");
		menuBar.add(mnNewMenu_1);
		
		JMenuItem mntmNewMenuItem_2 = new JMenuItem("\u590D\u5236");
		mnNewMenu_1.add(mntmNewMenuItem_2);
		
		JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u7C98\u8D34");
		mnNewMenu_1.add(mntmNewMenuItem_3);
		
		JMenu mnNewMenu_2 = new JMenu("\u5E2E\u52A9(H)");
		menuBar.add(mnNewMenu_2);
		
		JMenuItem mntmabout = new JMenuItem("\u5173\u4E8E(About)");
		mnNewMenu_2.add(mntmabout);
	}
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,swustoj276,简单的计算器可以使用Python编写。以下是一个示例代码: ``` # 定义加法函数 def add(x, y): return x + y # 定义减法函数 def subtract(x, y): return x - y # 定义乘法函数 def multiply(x, y): return x * y # 定义除法函数 def divide(x, y): return x / y # 用户输入 print("选择运算:") print("1、加") print("2、减") print("3、乘") print("4、除") # 获取用户输入 choice = input("输入你的选择(1/2/3/4):") num1 = float(input("输入第一个数字: ")) num2 = float(input("输入第二个数字: ")) if choice == '1': print(num1,"+",num2,"=", add(num1,num2)) elif choice == '2': print(num1,"-",num2,"=", subtract(num1,num2)) elif choice == '3': print(num1,"*",num2,"=", multiply(num1,num2)) elif choice == '4': print(num1,"/",num2,"=", divide(num1,num2)) else: print("非法输入") ``` 运行以上代码后,用户可以选择进行加、减、乘、除种运算,然后输入两个数字进行计算。 ### 回答2: 简单的计算器是一种基本的数学工具,可以帮助人们进行加减乘除等基本运算。通常,简单的计算器由数字按钮、运算符按钮和一个显示器组成,显示器用于显示计算结果。 在使用简单的计算器进行计算时,首先需要输入数字,这可以通过按下数字按钮来实现。接下来,需要选择一个运算符,可以通过按下加、减、乘、除等运算符按钮来实现。然后,输入第二个数字,并按下等号按钮,计算器便会显示出计算结果。 在计算器的设计中,还可以加入一些特殊的功能,如百分数、根号、倒数等。此外,现代的计算器还可以包含科学计算和统计功能,如三角函数、指数函数、对数函数、方差等。这些功能可以使计算器更加实用和高效。 总的来说,简单的计算器虽然功能简单,但在日常生活中却非常常见并且实用。它可以帮助人们快速进行基本的数学运算,解决生活工作中的一些问题。 ### 回答3: 简单的计算器是一种能进行基本算数运算的工具,它包括加、减、乘、除等基本运算。简单的计算器通常具有输入框和输出框,输入框用于输入需要计算的数值和算式,输出框用于显示结果。在现实生活中,计算器是非常常见和必要的工具,用于计算账单、预算、税率等等。 在编程中,实现简单的计算器可以利用编程语言中的数学函数来实现常见的算数运算。例如,利用Python语言编写一个简单的加法计算器: ```python a = input("请输入第一个数字:") b = input("请输入第二个数字:") result = float(a) + float(b) print("计算结果是:" + str(result)) ``` 以上是Python代码实现的加法计算器。用户首先需要输入两个数字,程序会将输入的字符串类型转换为浮点型,然后进行计算,最后输出结果。除加法外,编写减、乘、除法计算器原理相似。 总之,简单的计算器在我们生活和编程的方方面面都扮演着重要的角色,它简单易懂、方便快捷,是我们日常工作和学习不可或缺的工具之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值