java保存计算过程的计算器代码_求一个Java可以显示过程计算器的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package Asdsaf;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*; public class afaf extends JFrame { /**

*

*/

private static final long serialVersionUID = 1L;

private Container container;

private GridBagLayout layout;

private GridBagConstraints constraints;

private JTextField displayField;//计算结果显示区

private String lastCommand;//保存+,-,*,/,=命令

private double result;//保存计算结果

private boolean start;//判断是否为数字的开始 public Calculator() { super("计算器");

container=public Container getContentPane(){

}

layout=new GridBagLayout();

container.setLayout(layout);

constraints=new GridBagConstraints();

start=true;

result=0;

lastCommand = "=";

displayField=new JTextField(20);

displayField.setText("0.0");

displayField.setcolor(red);

displayField.setHorizontalAlignment(JTextField.RIGHT);

constraints.gridx=0;

constraints.gridy=0;

constraints.gridwidth=4;

constraints.gridheight=1;

constraints.fill=GridBagConstraints.BOTH;

constraints.weightx=100;

constraints.weighty=100;

layout.setConstraints(displayField,constraints);

container.add(displayField);

ActionListener insert = new InsertAction();

ActionListener command = new CommandAction();

void addButton("7",0,2,1,1,insert);

addButton("8",1,2,1,1,insert);

addButton("9",2,2,1,1,insert);

addButton("/",3,5,1,1,command);

addButton("4",0,3,1,1,insert);

addButton("5",1,3,1,1,insert);

addButton("6",2,3,1,1,insert);

addButton("*",3,4,1,1,command);

addButton("1",0,4,1,1,insert);

addButton("2",1,4,1,1,insert);

addButton("3",2,4,1,1,insert);

addButton("-",3,3,1,1,command);

addButton("0",1,5,1,1,insert);

addButton("=",2,5,1,1,command);

addButton(".",0,5,1,1,insert);

addButton("+",3,2,1,1,command);

setSize(180,200);

setVisible(true); } private void addButton(String label,int row,int column,int with,int height,ActionListener listener) { JButton button=new JButton(label);

constraints.gridx=row;

constraints.gridy=column;

constraints.gridwidth=with;

constraints.gridheight=height;

constraints.fill=GridBagConstraints.BOTH;

button.addActionListener(listener);

layout.setConstraints(button,constraints);

container.add(button);

} private class InsertAction implements ActionListener { public void actionPerformed(ActionEvent event) { String input=event.getActionCommand();

if (start) {

displayField.setText("");

start=false;

displayField.setText(displayField.getText()+input);

}

}

} private class CommandAction implements ActionListener { public void actionPerformed(ActionEvent evt) {

String command=evt.getActionCommand();

if(start) {

lastCommand=command;

}else {

calculate(Double.parseDouble(displayField.getText()));

lastCommand=command;

start=true;

}

}

} public void calculate(double x) {

if (lastCommand.equals("+")) result+= x;

else if (lastCommand.equals("-")) result-=x;

else if (lastCommand.equals("*")) result*=x;

else if (lastCommand.equals("/")) result/=x;

else if (lastCommand.equals("=")) result=x;

displayField.setText(""+ result);

} public static void main(String []args) {

Calculate calculator=new Calculate();

calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

} }

这段程序有什么错误?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值