首页编程java编程java编写简易计算器初学者 java制作计算器

java编写简易计算器初学者 java制作计算器

编程之家2026-05-221030次浏览

大家好,今天来为大家分享java编写简易计算器初学者的一些知识点,和java制作计算器的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

java编写简易计算器初学者 java制作计算器

求JAVA编写的 简易计算器程序,附上注释

1、首先准备好软件即eclipse和java,下载安装完成后打开eclipse。

2、点击左上角的file新建一个project。

3、给project取一个名字,其他的选项都是默认然后点击finish。

4、接下来是新建一个class。

5、在给class取名字的时候注意用英文名的首字母要大写。完成后点击finish。

6、这就是开始写代码的工作台,将代码写在绿字下。

java编写简易计算器初学者 java制作计算器

7、这就是第一个hello world程序。

用java程序编写一个计算器

给你一个参考,希望不要被百度吞了当晚餐

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

java编写简易计算器初学者 java制作计算器

import java.text.DecimalFormat;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class Calculator{

//计算器面板

private JFrame f= new JFrame("Calculator");

//输入面扳

private JPanel inputPanel= new JPanel();

//加减乘除面板

private JPanel operationPanel= new JPanel();

//数字面板

private JPanel buttonsPanel= new JPanel();

//输入数据文本框

private JTextField input= new JTextField(20);

//退格键

private JButton backspace= new JButton("BackSpace");

//清空

private JButton CE= new JButton("CE");

//删除

private JButton C= new JButton("C");

//四则运算符号键

private JButton add= new JButton("+");

private JButton sub= new JButton("-");

private JButton mul= new JButton("*");

private JButton div= new JButton("/");

//小数点

private JButton decimal= new JButton(".");

//等号

private JButton equal= new JButton("=");

//数字键

private JButton zero= new JButton("0");

private JButton one= new JButton("1");

private JButton two= new JButton("2");

private JButton three= new JButton("3");

private JButton four= new JButton("4");

private JButton five= new JButton("5");

private JButton six= new JButton("6");

private JButton seven= new JButton("7");

private JButton eight= new JButton("8");

private JButton nine= new JButton("9");

private String num1="";//保存第一个运算数字

private String operator="";//保存运算符号

public static void main(String[] args){

new Calculator();//new计算器实例

}

public Calculator(){

//添加组件,布局

inputPanel.add(input);

f.add(inputPanel, BorderLayout.NORTH);

operationPanel.add(backspace);

operationPanel.add(CE);

operationPanel.add(C);

f.add(operationPanel, BorderLayout.CENTER);

buttonsPanel.add(add);

buttonsPanel.add(sub);

buttonsPanel.add(mul);

buttonsPanel.add(div);

buttonsPanel.add(one);

buttonsPanel.add(two);

buttonsPanel.add(three);

buttonsPanel.add(zero);

buttonsPanel.add(four);

buttonsPanel.add(five);

buttonsPanel.add(six);

buttonsPanel.add(decimal);

buttonsPanel.add(seven);

buttonsPanel.add(eight);

buttonsPanel.add(nine);

buttonsPanel.add(equal);

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

f.add(buttonsPanel, BorderLayout.SOUTH);

//注册各个组件监听事件

backspace.addMouseListener(new OperationMouseListener());

CE.addMouseListener(new OperationMouseListener());

C.addMouseListener(new OperationMouseListener());

decimal.addMouseListener(new OperationMouseListener());

equal.addMouseListener(new OperationMouseListener());

//注册四则运算监听

add.addMouseListener(new CalcMouseListener());

sub.addMouseListener(new CalcMouseListener());

mul.addMouseListener(new CalcMouseListener());

div.addMouseListener(new CalcMouseListener());

//注册数字监听事件

zero.addMouseListener(new NumberMouseListener());

one.addMouseListener(new NumberMouseListener());

two.addMouseListener(new NumberMouseListener());

three.addMouseListener(new NumberMouseListener());

four.addMouseListener(new NumberMouseListener());

five.addMouseListener(new NumberMouseListener());

six.addMouseListener(new NumberMouseListener());

seven.addMouseListener(new NumberMouseListener());

eight.addMouseListener(new NumberMouseListener());

nine.addMouseListener(new NumberMouseListener());

f.setVisible(true);

f.pack();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private class NumberMouseListener implements MouseListener{

public void mouseClicked(MouseEvent e){

if(input.getText().trim().equals("0")){//如果文本框已经是0,结果还是0

input.setText(((JButton)e.getSource()).getText().trim());

}else{//否则的话,把0添加到后面,譬如文本框是1,结果就为10

input.setText(input.getText().concat(((JButton)e.getSource()).getText().trim()));

}

}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mousePressed(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

}

private class CalcMouseListener implements MouseListener{

//如果输入的是运算符号,保存第一个结果和运算符号

public void mouseClicked(MouseEvent e){

num1= input.getText().trim();input.setText("");

operator=((JButton)e.getSource()).getText().trim();

}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mousePressed(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

}

private class OperationMouseListener implements MouseListener{

public void mouseClicked(MouseEvent e){

if(e.getSource()== backspace){//退格键,删除一个直到没有字符删除

String inputText= input.getText();

if(inputText.length()> 0){

input.setText(inputText.substring(0, inputText.length()- 1));

}

}else if(e.getSource()== C){

input.setText("0");//C,清空所有运算数字和符号

num1="";

}else if(e.getSource()== CE){

input.setText("0");//CE-->将文本框置为0

}else if(e.getSource()== decimal){

String text= input.getText().trim();

//如果按了小数点,如果文本框已经有小数点,不做任何操作,否则在结果后面加上小数点

if(text.indexOf(".")==-1){

input.setText(text.concat("."));

}

}else if(e.getSource()== equal){

//如果是等号

if(!operator.trim().equals("")){

if(!input.getText().trim().equals("")){

double result= 0D;

if(operator.equals("+")){//执行加法运算

result= Double.parseDouble(num1)+ Double.parseDouble(input.getText().trim());

}else if(operator.equals("-")){//减法运算

result= Double.parseDouble(num1)- Double.parseDouble(input.getText().trim());

}else if(operator.equals("*")){//乘法运算

result= Double.parseDouble(num1)* Double.parseDouble(input.getText().trim());

}else if(operator.equals("/")){//除法运算

result= Double.parseDouble(num1)/ Double.parseDouble(input.getText().trim());

}

//格式化最终结果,保留两位小数点

input.setText(new DecimalFormat("0.00").format(result));

}

}

}

}

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mousePressed(MouseEvent e){}

public void mouseReleased(MouseEvent e){}

}

}

java如何编写计算器代码

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener

{

private boolean dotExist, operated, equaled;//帮助运算的布尔变量

private double storedNumber;//目前的结果

private char lastOperator;//表示上一运算符

private JTextField operation;//结果栏

private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear;//运算符

private JButton[] numbers;//数字

//构造者

public Calculator()

{

setTitle("Calculator");

//初始化变量

dotExist= false;//表示当前的数是否有小数点

operated= false;//表示任意运算符是否被按下

equaled= false;//表示等号是否被按下

storedNumber= 0;

lastOperator='?';

//初始化窗口变量

operation= new JTextField("0");

operation.setEditable(false);

numbers= new JButton[10];

for(int i= 0; i< 10; i++)

numbers[i]= new JButton(""+ i);

dot= new JButton(".");

plus= new JButton("+");

minus= new JButton("-");

multi= new JButton("*");

div= new JButton("/");

sqrt= new JButton("√");

equal= new JButton("=");

changePN= new JButton("±");

clear= new JButton("AC");

//将窗口物体放入窗口

GridBagLayout layout= new GridBagLayout();

getContentPane().setLayout(layout);

addComponent(layout, operation, 0, 0, 4, 1);

addComponent(layout, numbers[1], 1, 0, 1, 1);

addComponent(layout, numbers[2], 1, 1, 1, 1);

addComponent(layout, numbers[3], 1, 2, 1, 1);

addComponent(layout, numbers[4], 2, 0, 1, 1);

addComponent(layout, numbers[5], 2, 1, 1, 1);

addComponent(layout, numbers[6], 2, 2, 1, 1);

addComponent(layout, numbers[7], 3, 0, 1, 1);

addComponent(layout, numbers[8], 3, 1, 1, 1);

addComponent(layout, numbers[9], 3, 2, 1, 1);

addComponent(layout, dot, 4, 0, 1, 1);

addComponent(layout, numbers[0], 4, 1, 1, 1);

addComponent(layout, sqrt, 4, 2, 1, 1);

addComponent(layout, plus, 1, 3, 1, 1);

addComponent(layout, minus, 2, 3, 1, 1);

addComponent(layout, multi, 3, 3, 1, 1);

addComponent(layout, div, 4, 3, 1, 1);

addComponent(layout, equal, 5, 0, 2, 1);

addComponent(layout, changePN, 5, 2, 1, 1);

addComponent(layout, clear, 5, 3, 1, 1);

}

//对按钮进行反应的方法

public void actionPerformed(ActionEvent e)

{

JButton btn=(JButton)e.getSource();

if(btn== clear)

{

operation.setText("0");

dotExist= false;

storedNumber= 0;

lastOperator='?';

}

else if(btn== equal)

{

operate('=');

equaled= true;

}

else if(btn== plus)

{

operate('+');

equaled= false;

}

else if(btn== minus)

{

operate('-');

equaled= false;

}

else if(btn== multi)

{

operate('*');

equaled= false;

}

else if(btn== div)

{

operate('/');

equaled= false;

}

else if(btn== changePN)

{

operate('p');

operate('=');

equaled= true;

}

else if(btn== sqrt)

{

operate('s');

operate('=');

equaled= true;

}

else

{

if(equaled)

storedNumber= 0;

for(int i= 0; i< 10; i++)

if(btn== numbers[i])

{

if(operation.getText().equals("0"))

operation.setText(""+ i);

else if(! operated)

operation.setText(operation.getText()+ i);

else

{

operation.setText(""+ i);

operated= false;

}

}

if(btn== dot&&! dotExist)

{

operation.setText(operation.getText()+".");

dotExist= true;

}

}

}

//进行运算的方法

private void operate(char operator)

{

double currentNumber= Double.valueOf(operation.getText()).doubleValue();

if(lastOperator=='?')

storedNumber= currentNumber;

else if(lastOperator=='+')

storedNumber+= currentNumber;

else if(lastOperator=='-')

storedNumber-= currentNumber;

else if(lastOperator=='*')

storedNumber*= currentNumber;

else if(lastOperator=='/')

storedNumber/= currentNumber;

else if(lastOperator=='p')

storedNumber*=-1;

else if(lastOperator=='s')

storedNumber= Math.sqrt(currentNumber);

else if(lastOperator=='='&& equaled)

storedNumber= currentNumber;

operation.setText(""+ storedNumber);

operated= true;

lastOperator= operator;

}

//快捷使用GridBagLayout的方法

private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height)

{

GridBagConstraints constraints= new GridBagConstraints();

constraints.fill= GridBagConstraints.BOTH;

constraints.insets= new Insets(10, 2, 10, 2);

constraints.weightx= 100;

constraints.weighty= 100;

constraints.gridx= col;

constraints.gridy= row;

constraints.gridwidth= width;

constraints.gridheight= height;

layout.setConstraints(component, constraints);

if(component instanceof JButton)

((JButton)component).addActionListener(this);

getContentPane().add(component);

}

//主方法初始化并显示窗口

public static void main(String[] args)

{

Calculator calc= new Calculator();

calc.setSize(290, 400);

calc.setVisible(true);

}

}

如果你想加sin cos tan的话就建它们的按钮在actionPerformed方法中的if-else语句中加else if(btn== sin){operate('S');operate('=');equaled= true;}然后在operate方法加对应的语句就行了.记忆M+, M-没时间搞这个应该比较简单容易明白吧.

关于java编写简易计算器初学者和java制作计算器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

指针函数返回值(指针作为返回值)ai换脸软件视频,可以导入本地视频的ai换脸软件