编写一个简单的Java程序,模拟计算器的功能。

提问:编写一个简单的Java程序,模拟计算器的功能。

网友回答:

程序参考:

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Calculater  {

 public static void main(String[] args)

 {

    new Calculater();

 }

 Calculater() {

EventQueue.invokeLater(new Runnable() {

public void run() {

// TODO Auto-generated method stub

 CalculatorFrame frame = new CalculatorFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(500, 400);

frame.setVisible(true);

}

});

}

class CalculatorFrame extends JFrame {

public CalculatorFrame() {

CalculatorPanel panels = new CalculatorPanel();

setTitle("Calculator");

add(panels);

pack();

}

}

class CalculatorPanel extends JPanel {

public CalculatorPanel() {

setLayout(new BorderLayout());

lastCommand = "=";

start = true;

// add the display

display = new JButton();

display.setEnabled(false);

add(display, BorderLayout.NORTH);

ActionListener insert = new InsertAction();

ActionListener command = new CommandAction();

// Add buttons in a 4 * 4 grid

panel = new JPanel();

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

addButton("7", insert);

addButton("8", insert);

addButton("9", insert);

addButton("/", command);

addButton("4", insert);

addButton("5", insert);

addButton("6", insert);

addButton("*", command);

addButton("1", insert);

addButton("2", insert);

addButton("3", insert);

addButton("-", command);

addButton("0", insert);

addButton(".", insert);

addButton("=", command);

addButton("+", command);

add(panel, BorderLayout.CENTER);

}

}

private void addButton(String label, ActionListener listener) {

JButton button = new JButton(label);

button.addActionListener(listener);

panel.add(button);

}

// InsertAction

private class InsertAction implements ActionListener {

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String input = e.getActionCommand();

if (start) {

display.setText("");

start = false;

}

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

}

}

// CommandAction

private class CommandAction implements ActionListener {

public void actionPerformed(ActionEvent event) {

String command = event.getActionCommand();

if (start) {

if (command.equals("-")) {

display.setText(command);

start = false;

} else {

lastCommand = command;

}

} else {

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

lastCommand = command;

start = true;

}

}

}

// calculate

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;

} else if (lastCommand.equals("=")) {

result = x;

}

display.setText("" + result);

}

private JButton display;

private JPanel panel;

private double result;

private String lastCommand;

private boolean start;

}

界面:

相关推荐

编写一个函数,比较输入的字符串的大小,并将结果返回main函数。(在C-free中完成)

编写一个函数,比较输入的字符串的大小,并将结果返回main函数。(在C-free中完成)

编写一个函数实现求整数 a 到整数 b 之和,并返回整数和。然后在调

编写一个函数实现求整数 a 到整数 b 之和,并返回整数和。然后在调

编写一个函数,

编写一个函数,

编写一个程序,在主线程中创建一个新线程,在主线程中得到新线程的各个属性,并在主线

编写一个程序,在主线程中创建一个新线程,在主线程中得到新线程的各个属性,并在主线

编写一个Windows窗体程序。利用滚动条实现对矩形色板的自由调色,并可以显示当 前各色

编写一个Windows窗体程序。利用滚动条实现对矩形色板的自由调色,并可以显示当 前各色

编写一个类Student,代表学员

编写一个类Student,代表学员

编写一个链式队列进队算法enQueue(q,e),并为每条语句添加一个注释,解释该语句的功能和作用。

编写一个链式队列进队算法enQueue(q,e),并为每条语句添加一个注释,解释该语句的功能和作用。

编写一个完整的程序,通过调用函数prime(n),判断n是不是素数,计算100以内的所有素数的平均值

编写一个完整的程序,通过调用函数prime(n),判断n是不是素数,计算100以内的所有素数的平均值

编写一个函数,选出数列中头两个最大数,返回主函数进行输出。(选择法)

编写一个函数,选出数列中头两个最大数,返回主函数进行输出。(选择法)

编写一个Java程序,通过键盘输入两个整数,求着两个数的合并输出结果

编写一个Java程序,通过键盘输入两个整数,求着两个数的合并输出结果

vb编写一个加密过程

vb编写一个加密过程

试编写一个C程序,用于在屏幕上输出现实您自己的姓名、专业、学院及您将来的职业期待。

试编写一个C程序,用于在屏幕上输出现实您自己的姓名、专业、学院及您将来的职业期待。

怎么用python编写一个程序:输入一个字符串,输出它所含的所有数字。

怎么用python编写一个程序:输入一个字符串,输出它所含的所有数字。

怎么用C语言编写一个程序使用二重循环编写一个程序,求xy+yx=154的值x,y是1-9之间不同数字

怎么用C语言编写一个程序使用二重循环编写一个程序,求xy+yx=154的值x,y是1-9之间不同数字

用C++编写一个程序,输入年、月,打印出该年份该月的天数。唉~实验报告写不出来

用C++编写一个程序,输入年、月,打印出该年份该月的天数。唉~实验报告写不出来

盒子游戏,游戏玩家专属个性阅读社区


©CopyRight 2010- 2020 BOXUU.COM Inc All Rights Reserved

鄂公网安备 35020302000061号- 鄂ICP备2020015574号-1