使用eclipse编程实现简单的计算器功能,可作简单的四则运算及其复合运算,并且使用try函数考虑异常处理。

最近在学JAVA,在编写计算器的过程中遇到不少问题,这里附上编写计算器的代码供大家参考。有什么不会的可以留言咨询哦~

import java.util.Scanner;

public class Calculator { 
	private int integer1;
	private int integer2;
	private char operator;
	
	public Calculator() {
		
	}

	public Calculator(int integer1,char operator,int integer2) {
		this.integer1 = integer1;
		this.operator = operator;
		this.integer2 = integer2;
	}
	
	public int calculate() throws ArithmeticException,UnsupportedOperationException {
		int result = 0;
		Scanner sc = new Scanner(System.in);
		System.out.println("请按顺序输入被操作数,运算符号和操作数(空白分隔):");
		integer1=sc.nextInt();
		operator=sc.next().charAt(0);
		integer2=sc.nextInt();
		Calculator c1 = new Calculator(integer1,operator,integer2);
		
		try {
			if (operator == '+') {
				result = integer1 + integer2;
			}else if (operator == '-') {
				result = integer1 - integer2;
			}else if(operator == '*') {
				result = integer1 * integer2;
			}else if(operator == '/') {
				result = integer1 / integer2;
			}
		}catch (ArithmeticException ae) {
			throw ae;
		}catch (UnsupportedOperationException uoe) {
			throw uoe;
		}
		return result;
	}
	
	public static void main(String[] args) {
		
		Calculator c1 = new Calculator();
		try {
			System.out.println("计算结果:" + c1.calculate());
		}catch (ArithmeticException ae) {
			System.err.println("产生异常:" + ae);
		}catch (UnsupportedOperationException ue) {
			System.err.println("没有这种运算!:" + ue);
		}finally {
			System.out.println("主方法执行结束");
		}
	}
	

}

这时候运行代码,就能在操作台上看到如下提示:
在这里插入图片描述
运行出来结果就算成功啦~
在这里插入图片描述
祝大家学习顺利。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在 Eclipse 中完成上述计算器界面的实现,可以按照以下步骤操作: 1. 打开 Eclipse,创建一个新的 Java 项目。 2. 右键单击项目名,选择 New -> JFrame Form,创建一个新的 JFrame 窗口。 3. 在窗口设计器中,添加一个 JTextField 组件用于显示计算结果,设置其初始值为 0。 4. 在窗口设计器中,添加一个 JPanel 组件用于放置按钮,设置其布局为 GridLayout,并将行数和列数都设置为 4。 5. 在 JPanel 中添加 16 个 JButton 组件,包括数字 0 到 9 以及加减乘除等操作符。 6. 右键单击每个 JButton 组件,选择 Events -> Action -> actionPerformed,在代码编辑器中自动生成 actionPerformed 方法。 7. 在 actionPerformed 方法中编写计算器的逻辑,根据用户点击的按钮来更新 JTextField 中的内容。 8. 运行程序,测试计算器功能是否正常。 以下是一个示例代码,可以复制到 Eclipse 中进行测试: ```java import java.awt.EventQueue; 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 Calculator { private JFrame frame; private JTextField displayField; private double num1, num2, result; private String operator; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Calculator window = new Calculator(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public Calculator() { initialize(); } private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); displayField = new JTextField("0"); displayField.setHorizontalAlignment(JTextField.RIGHT); frame.getContentPane().add(displayField, "North"); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout(4, 4, 5, 5)); frame.getContentPane().add(buttonPanel, "Center"); String[] buttonLabels = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "0", ".", "/", "="}; for (String label : buttonLabels) { JButton button = new JButton(label); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if (command.matches("[0-9]")) { if (operator == null) { displayField.setText(command); } else { displayField.setText(displayField.getText() + command); } } else if (command.matches("[+\\-*/=]")) { if (num1 == 0) { num1 = Double.parseDouble(displayField.getText()); operator = command; displayField.setText(""); } else { num2 = Double.parseDouble(displayField.getText()); switch (operator) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": result = num1 / num2; break; } num1 = result; operator = command; displayField.setText(String.valueOf(result)); } } else if (command.equals(".")) { if (!displayField.getText().contains(".")) { displayField.setText(displayField.getText() + command); } } else if (command.equals("C")) { num1 = num2 = result = 0; operator = null; displayField.setText("0"); } } }); buttonPanel.add(button); } } } ``` 注意:在 Eclipse 中,需要手动添加 JFrame、JPanel、JButton 和 JTextField 等组件,并设置它们的属性和布局。在代码使用 frame.getContentPane().add(component, constraints) 将组件添加到窗口中,并指定其布局约束。同时,还需要手动为每个按钮添加 ActionListener 监听器,并在 actionPerformed 方法中编写计算器的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值