「java怎样做简易计算器」用java编写简易计算器

博主:adminadmin 2023-01-08 04:57:08 669

今天给各位分享java怎样做简易计算器的知识,其中也会对用java编写简易计算器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用JAVA语言编写计算器小程序?

具体代码如下:

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class Calculator  extends JFrame implements ActionListener  {

private JFrame jf;

private JButton[] allButtons;

private JButton clearButton;

private JTextField jtf;

public Calculator() {

//对图形组件实例化

jf=new JFrame("任静的计算器1.0:JAVA版");

jf.addWindowListener(new WindowAdapter(){

public void windowClosing(){

System.exit(0);

}

});

allButtons=new JButton[16];

clearButton=new JButton("清除");

jtf=new JTextField(25);

jtf.setEditable(false);

String str="123+456-789*0.=/";

for(int i=0;iallButtons.length;i++){

allButtons[i]=new JButton(str.substring(i,i+1));

}

}

public void init(){

//完成布局

jf.setLayout(new BorderLayout());

JPanel northPanel=new JPanel();

JPanel centerPanel=new JPanel();

JPanel southPanel=new JPanel();

northPanel.setLayout(new FlowLayout());

centerPanel.setLayout(new GridLayout(4,4));

southPanel.setLayout(new FlowLayout());

northPanel.add(jtf);

for(int i=0;i16;i++){

centerPanel.add(allButtons[i]);

}

southPanel.add(clearButton);

jf.add(northPanel,BorderLayout.NORTH);

jf.add(centerPanel,BorderLayout.CENTER);

jf.add(southPanel,BorderLayout.SOUTH);

addEventHandler();

}

//添加事件监听

public void addEventHandler(){

jtf.addActionListener(this);

for(int i=0;iallButtons.length;i++){

allButtons[i].addActionListener(this);

}

clearButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

Calculator.this.jtf.setText("");

}

});

}

//事件处理

public void actionPerformed(ActionEvent e) {

//在这里完成事件处理  使计算器可以运行

String action=e.getActionCommand();

if(action=="+"||action=="-"||action=="*"||action=="/"){

}

}

public void setFontAndColor(){

Font f=new Font("宋体",Font.BOLD,24);

jtf.setFont(f);

jtf.setBackground(new Color(0x8f,0xa0,0xfb));

for(int i=0;i16;i++){

allButtons[i].setFont(f);

allButtons[i].setForeground(Color.RED);

}

}

public void showMe(){

init();

setFontAndColor();

jf.pack();

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args){

new Calculator().showMe();

}

}

用Java设计一个简单的计算器。

无聊写了个,修复了下Bug:

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

public class Calculate extends JFrame implements ActionListener {

    private static final long serialVersionUID = 1L;

    private JButton plus, reduce, multiply, divice, reset;

    private JTextField one, two, result;

    private boolean device_falg = false;

    private final int width = 400, height = 300;

    public Calculate() {

        super("修改密码");

        this.setLayout(null);

        this.setSize(width, height);

        init();

        Layout();

    }

    public void init() {

        plus = new JButton("加   ");

        reduce = new JButton("减    ");

        multiply = new JButton("乘   ");

        divice = new JButton("除    ");

        reset = new JButton("清空");

        one = new JTextField();

        two = new JTextField();

        result = new JTextField();

    }

    public void Layout() {

        this.add(new JLabel("第一个数")).setBounds(20, 10, 60, 80);

        this.add(one).setBounds(100, 38, 100, 25);

        this.add(new JLabel("第二个数")).setBounds(20, 40, 60, 80);

        this.add(two).setBounds(100, 70, 100, 25);

        this.add(new JLabel("结果")).setBounds(20, 85, 60, 80);

        this.add(result).setBounds(100, 110, 100, 25);

        this.add(plus).setBounds(70, 170, 80, 25);

        this.add(reduce).setBounds(200, 170, 80, 25);

        this.add(multiply).setBounds(70, 200, 80, 25);

        this.add(divice).setBounds(200, 200, 80, 25);

        this.add(reset).setBounds(300, 220, 80, 25);

        plus.addActionListener(this);

        reduce.addActionListener(this);

        multiply.addActionListener(this);

        divice.addActionListener(this);

        reset.addActionListener(this);

        this.setVisible(true);

        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

    }

    public boolean Format() {

        boolean FLAG = false;

        boolean flag = false;

        String one = this.one.getText().toString().trim();

        String two = this.two.getText().toString().trim();

        if (one == null || one.equals("") || two == null || two.equals("")) {

            JOptionPane.showMessageDialog(getParent(), "请输入完整信息!");

            FLAG = false;

            flag = true;

        }

        boolean boll_1 = one.matches("[\\d]{1,100}");

        boolean boll_2 = two.matches("[\\d]{1,100}");

        boolean boll_3 = one.matches("[\\d]{1,100}+[.]+[\\d]{1,100}");

        boolean boll_4 = two.matches("[\\d]{1,100}+[.]+[\\d]{1,100}");

        if (flag) {

            return false;

        }

        if ((boll_1  boll_2) || (boll_3  boll_4) || (boll_1  boll_4)

                || (boll_3  boll_2)) {

            FLAG = true;

        } else {

            JOptionPane.showMessageDialog(getParent(), "请输入数字!");

            FLAG = false;

        }

        if (FLAG  device_falg) {

            if (Double.parseDouble(two) == 0) {

                JOptionPane.showMessageDialog(getParent(), "被除数不能为0!");

                FLAG = false;

                device_falg=false;

            }

        }

        return FLAG;

    }

    public double Plus(double one, double two) {

        return one + two;

    }

    public double Multiply(double one, double two) {

        return one * two;

    }

    public double Divice(double one, double two) {

        return one / two;

    }

    public double Reduce(double one, double two) {

        return one - two;

    }

    public void Clear() {

        one.setText("");

        two.setText("");

        result.setText("");

    }

    @Override

    public void actionPerformed(ActionEvent e) {

        Object o = e.getSource();

        if (o == reset) {

            Clear();

            return;

        }

        if (o == divice) {

            device_falg = true;

        }

        if (!Format()) {

            return;

        }

        double one = Double.parseDouble(this.one.getText());

        double two = Double.parseDouble(this.two.getText());

        double result = 0;

        if (o == plus) {

            result = Plus(one, two);

        } else if (o == reduce) {

            result = Reduce(one, two);

        } else if (o == multiply) {

            result = Multiply(one, two);

        } else if (o == divice) {

            result = Divice(one, two);

        }

        this.result.setText("" + result);

    }

    public static void main(String[] args) {

        new Calculate();

    }

}

用java编写一个简单计算器

package swing;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

@SuppressWarnings("serial")

public class Calculator extends JFrame{

JTextField jt1 ,jt2 ,jt3;

JLabel jLabel;

JButton equButton,addButton,reduceButton,mulButton,divButton;

public Calculator() {

super("简易计算器");

JPanel contentPanel = new JPanel();

contentPanel.setLayout(new GridLayout(2, 0));

JPanel uJPanel = new JPanel();

Dimension preferredSize = new Dimension(50, 29);

GridBagConstraints gbc = new GridBagConstraints();

uJPanel.setLayout(new GridBagLayout());

gbc.gridx = GridBagConstraints.RELATIVE;

gbc.gridy = 0;

gbc.fill = GridBagConstraints.HORIZONTAL;

gbc.insets = new Insets(1, 2, 1, 2);

jt1 = new JTextField(4);

jLabel = new JLabel();

jLabel.setPreferredSize(new Dimension(10, 29));

jt2 = new JTextField(4);

equButton = new JButton("=");

ActionListener myActionListener = new MyActionListener();

equButton.addActionListener(myActionListener);

jt3 = new JTextField(8);

jt1.setPreferredSize(preferredSize);

jt2.setPreferredSize(preferredSize);

jt3.setPreferredSize(preferredSize);

uJPanel.add(jt1,gbc);

uJPanel.add(jLabel,gbc);

uJPanel.add(jt2,gbc);

uJPanel.add(equButton,gbc);

gbc.weightx = 1;

uJPanel.add(jt3,gbc);

contentPanel.add(uJPanel);

JPanel dJPanel = new JPanel();

dJPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 8, 2));

addButton = new JButton("+");

reduceButton = new JButton("-");

mulButton = new JButton("*");

divButton = new JButton("/");

addButton.addActionListener(myActionListener);

reduceButton.addActionListener(myActionListener);

mulButton.addActionListener(myActionListener);

divButton.addActionListener(myActionListener);

dJPanel.add(addButton);

dJPanel.add(reduceButton);

dJPanel.add(mulButton);

dJPanel.add(divButton);

contentPanel.add(dJPanel);

this.setContentPane(contentPanel);

this.pack();

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(3);

this.setVisible(true);

}

class MyActionListener implements ActionListener{

Double d1,d2,d3;

String operator = "";

public void actionPerformed(ActionEvent e) {

String fun = e.getActionCommand();

if (!fun.equals("=")) {

jLabel.setText(fun);

operator = fun;

}else {

d1 = jt1.getText().equals("")?null:Double.valueOf(jt1.getText());

d2 = jt2.getText().equals("")?null:Double.valueOf(jt2.getText());

d3 = calculate(d1,d2,operator);

jt3.setText(d3==null ? "":d3.toString());

jt3.setCaretPosition(0);

}

}

}

Double calculate(Double d1,Double d2,String operator){

if (d1 == null || d2 == null) {

return null;

}

Double d3 = null;

switch (operator) {

case "+":

d3 = d1 + d2;

break;

case "-":

d3 = d1 - d2;

break;

case "*":

d3 = d1 * d2;

break;

case "/":

d3 = d1 / d2;

break;

}

return d3;

}

public static void main(String[] args) {

new Calculator();

}

}

Java 简易计算器

package demo;

import java.util.Scanner;

public class Computer {

static Scanner s = new Scanner(System.in);

public static void main(String[] args) {

Computer c = new Computer();

c.run();

while(true){

System.out.println("是否继续?(1:继续,2:退出)");

String arg = s.nextLine();

if(arg.equals("1")){

c.run();

}else{

break;

}

}

}

public void run(){

System.out.println(" ------------简易计算器------------");

System.out.println("------------请如下选项中选择------------");

System.out.println("------------1.求和运算------------");

System.out.println("------------2.求差运算------------");

System.out.println("------------3.求积运算------------");

System.out.println("------------4.求商运算------------");

System.out.println("------------5.退出程序------------");

while(true){

System.out.println("请输入选项 :");

try{

int arg = s.nextInt();

if(arg==5){

break;

}

System.out.print("请输入第一个运算值:");

setDim(s.nextDouble());

System.out.println("请输入第二个运算值:");

setDim(s.nextDouble());

System.out.print("结果为:");

double temp = 0;

if(arg==1){

temp=getAdd();

}else if(arg==2){

temp=getSub();

}else if(arg==3){

temp=getMul();

}else if(arg==4){

temp=getDiv();

}

System.err.println(temp);

}catch(Exception e){

System.out.println("输入数字不正确...");

s =s.reset();

continue;

}

}

}

private double num1 = 0;

private double num2 = 0;

public void setDim(double num){

if(num1 == 0){

num1 = num;

}else{

num2 = num;

}

}

/**

* 加法

*/

public double getAdd(){

return num1 + num2;

}

/**

* 减法

*/

public double getSub(){

return num1 - num2;

}

/**

* 乘法

*/

public double getMul(){

return num1 * num2;

}

/**

* 除法

*/

public double getDiv(){

return num1 / num2;

}

}

编写java程序简单计算器

主要涉及的知识点: 类的写法, 以及方法的调用 .建议多做练习. 如果有看不懂的地方. 可以继续追问,一起讨论.

参考代码如下

//Number类

class Number {

private int n1;//私有的整型数据成员n1

private int n2;//私有的整型数据成员n2

// 通过构造函数给n1和n2赋值

public Number(int n1, int n2) {

this.n1 = n1;

this.n2 = n2;

}

// 加法

public int addition() {

return n1 + n2;

}

// 减法

public int subtration() {

return n1 - n2;

}

// 乘法

public int multiplication() {

return n1 * n2;

}

// 除法 (可能除不尽,所以使用double作为返回类型)

public double division() {

return n1 * 1.0 / n2; // 通过n1*1.0 把计算结果转换成double类型.

}

}

//Exam4 类

public class Exam4{

public static void main(String[] args) {

Number number=new Number(15, 6);//创建Number类的对象

//下面的是调用方法得到返回值进行输出显示

System.out.println("加法"+number.addition());

System.out.println("减法"+number.subtration());

System.out.println("乘法"+number.multiplication());

System.out.println("除法"+number.division());

}

}

java怎样做简易计算器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用java编写简易计算器、java怎样做简易计算器的信息别忘了在本站进行查找喔。