JAVA->设计一个有加减乘除功能的计算器(代码)

创造一个Calculator的class

这个计算器可以满足基本的加减乘除以外,还可以让user方面使用多次计算

import java.util.Scanner;
public class Calculator {
    private static int add(int i , int j) {
        return i + j;
    }
    private static int subtract(int i, int j) {
        return i - j;
    }
    private static int multiply(int i , int j){
        return  i*j;
    }
    private static int divide(int i , int j){
        if(j == 0)
            System.out.println("j can't be divide");
        return i/j;
    }

    public static void main(String[] args) {
        Calculator.welcome();
    }
    public static void operation(){
        Scanner sc =new Scanner(System.in);
        System.out.println("first num");
        int i = sc.nextInt();
        System.out.println("second num");
        int j = sc.nextInt();
        System.out.println("for thirdNum:1to add,2to subtract,3to multiply,4to divide");
        int thirdNum =sc.nextInt();
        if (thirdNum==1){
            System.out.println(Calculator.add(i,j));
            System.out.println("计算完成重启");
        }

        if (thirdNum==2){
            System.out.println(Calculator.subtract(i,j));
            System.out.println("计算完成重启");
        }

        if (thirdNum==3){
            System.out.println(Calculator.multiply(i,j));
            System.out.println("计算完成重启");
        }

        if (thirdNum==4) {
            System.out.println(Calculator.divide(i, j));
            System.out.println("计算完成重启");
        }
    }
    private static void welcome(){
        System.out.println("欢迎来到计算器");
        System.out.println("输入1计算,2终止程序");
        Scanner sc = new Scanner(System.in);
        int num1=sc.nextInt();
        if(num1 == 1){
            operation();
            welcome();
        }else if(num1 == 2){
            System.out.println("程序终止");
        }else {
            System.out.println("输入不合法请重新输入");
            welcome();
        }
    }
}

run的结果

​

​欢迎来到计算器
输入1计算,2终止程序
1
first num
3
second num
6
for thirdNum:1to add,2to subtract,3to multiply,4to divide
3
18
计算完成重启
欢迎来到计算器
输入1计算,2终止程序
2
程序终止

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用Java Swing编写的简单计算器界面代码,实现了加减乘除四则运算: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame implements ActionListener { private JButton button0, button1, button2, button3, button4, button5, button6, button7, button8, button9; private JButton buttonAdd, buttonSubtract, buttonMultiply, buttonDivide, buttonClear, buttonEquals; private JTextField textField; private double firstValue = 0; private double secondValue = 0; private String operation = ""; public Calculator() { super("Calculator"); // Set up the text field textField = new JTextField(10); textField.setEditable(false); textField.setHorizontalAlignment(JTextField.RIGHT); // Set up the buttons button0 = new JButton("0"); button1 = new JButton("1"); button2 = new JButton("2"); button3 = new JButton("3"); button4 = new JButton("4"); button5 = new JButton("5"); button6 = new JButton("6"); button7 = new JButton("7"); button8 = new JButton("8"); button9 = new JButton("9"); buttonAdd = new JButton("+"); buttonSubtract = new JButton("-"); buttonMultiply = new JButton("*"); buttonDivide = new JButton("/"); buttonClear = new JButton("C"); buttonEquals = new JButton("="); button0.addActionListener(this); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); button7.addActionListener(this); button8.addActionListener(this); button9.addActionListener(this); buttonAdd.addActionListener(this); buttonSubtract.addActionListener(this); buttonMultiply.addActionListener(this); buttonDivide.addActionListener(this); buttonClear.addActionListener(this); buttonEquals.addActionListener(this); // Set up the content pane JPanel contentPane = new JPanel(); contentPane.setLayout(new BorderLayout()); contentPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout(4, 4, 5, 5)); buttonPanel.add(button7); buttonPanel.add(button8); buttonPanel.add(button9); buttonPanel.add(buttonDivide); buttonPanel.add(button4); buttonPanel.add(button5); buttonPanel.add(button6); buttonPanel.add(buttonMultiply); buttonPanel.add(button1); buttonPanel.add(button2); buttonPanel.add(button3); buttonPanel.add(buttonSubtract); buttonPanel.add(button0); buttonPanel.add(buttonClear); buttonPanel.add(buttonEquals); buttonPanel.add(buttonAdd); contentPane.add(textField, BorderLayout.NORTH); contentPane.add(buttonPanel, BorderLayout.CENTER); setContentPane(contentPane); pack(); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); } public void actionPerformed(ActionEvent e) { if (e.getSource() == button0) { textField.setText(textField.getText() + "0"); } else if (e.getSource() == button1) { textField.setText(textField.getText() + "1"); } else if (e.getSource() == button2) { textField.setText(textField.getText() + "2"); } else if (e.getSource() == button3) { textField.setText(textField.getText() + "3"); } else if (e.getSource() == button4) { textField.setText(textField.getText() + "4"); } else if (e.getSource() == button5) { textField.setText(textField.getText() + "5"); } else if (e.getSource() == button6) { textField.setText(textField.getText() + "6"); } else if (e.getSource() == button7) { textField.setText(textField.getText() + "7"); } else if (e.getSource() == button8) { textField.setText(textField.getText() + "8"); } else if (e.getSource() == button9) { textField.setText(textField.getText() + "9"); } else if (e.getSource() == buttonAdd) { firstValue = Double.parseDouble(textField.getText()); operation = "+"; textField.setText(""); } else if (e.getSource() == buttonSubtract) { firstValue = Double.parseDouble(textField.getText()); operation = "-"; textField.setText(""); } else if (e.getSource() == buttonMultiply) { firstValue = Double.parseDouble(textField.getText()); operation = "*"; textField.setText(""); } else if (e.getSource() == buttonDivide) { firstValue = Double.parseDouble(textField.getText()); operation = "/"; textField.setText(""); } else if (e.getSource() == buttonClear) { textField.setText(""); } else if (e.getSource() == buttonEquals) { secondValue = Double.parseDouble(textField.getText()); double result = 0; if (operation.equals("+")) { result = firstValue + secondValue; } else if (operation.equals("-")) { result = firstValue - secondValue; } else if (operation.equals("*")) { result = firstValue * secondValue; } else if (operation.equals("/")) { result = firstValue / secondValue; } textField.setText(Double.toString(result)); } } public static void main(String[] args) { Calculator calculator = new Calculator(); calculator.setVisible(true); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值