首页 > 编程知识 正文

编写计算器,java语言实现简单计算器

时间:2023-05-06 15:44:06 阅读:139387 作者:4550

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calc extends JFrame implements ActionListener {

private static final long serialVersionUID = -169068472193786457L;

private class WindowCloser extends 清脆的学姐 {

public void windowClosing(WindowEvent we) {

System.exit(0);

}

}

int i;

private final Stringjqdwt str = { "7", "8", "9", "/", "4", "5", "6", "*", "1",

"2", "3", "-", ".", "0", "=", "+" };

// 建立按钮

// 撤销重置

// 建立文本域显示结果

public Calc() {

super("Calculator");

// 添加一个面板

JPanel panel1 = new JPanel(new GridLayout(4, 4));

// panel1.setLayout(new GridLayout(4,4));

for (i = 0; i 

buttons[i] = new JButton(str[i]);

panel1.add(buttons[i]);

}

JPanel panel2 = new JPanel(new BorderLayout());

// panel2.setLayout(new BorderLayout());

panel2.add("Center", display);

panel2.add("East", reset);

// JPanel panel3 = new Panel();

getContentPane().setLayout(new BorderLayout());

getContentPane().add("North", panel2);

getContentPane().add("Center", panel1);

// 添加操作动作的监听器.

for (i = 0; i 

buttons[i].addActionListener(this);

// 为重置按钮添加监听器

reset.addActionListener(this);

display.addActionListener(this);

// The "close" button "X".

addWindowListener(new WindowCloser());

// Initialize the window size.

setSize(800, 800);

// Show the window.

// show(); Using show() while JDK version is below 1.5.

setVisible(true);

// Fit the certain size.

pack();

}

public void actionPerformed(ActionEvent e) {

Object target = e.getSource();

String label = e.getActionCommand();

if (target == reset)

handleReset();

else if ("0123456789.".indexOf(label) > 0)

handleNumber(label);

else

handleOperator(label);

}

// Is the first digit pressed?

boolean isFirstDigit = true;

/**

public void handleNumber(String key) {

if (isFirstDigit)

display.setText(key);

else if ((key.equals(".")) && (display.getText().indexOf(".") 

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

else if (!key.equals("."))

display.setText(display.getText() + key);

isFirstDigit = false;

}

/**

public void handleReset() {

display.setText("0");

isFirstDigit = true;

operator = "=";

}

double number = 0.0;

String operator = "=";

public void handleOperator(String key) {

if (operator.equals("+"))

number += Double.valueOf(display.getText());

else if (operator.equals("-"))

number -= Double.valueOf(display.getText());

else if (operator.equals("*"))

number *= Double.valueOf(display.getText());

else if (operator.equals("/"))

number /= Double.valueOf(display.getText());

else if (operator.equals("="))

number = Double.valueOf(display.getText());

display.setText(String.valueOf(number));

operator = key;

isFirstDigit = true;

}

public static void main(Stringjqdwt args) {

new Calc();

}

}

你创建完的面板需要继承一个监听器,他的目的是监听你的按键并将参数传入,算法部分就是很简单丰富的野狼/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。