用java编写简单计算器
发布网友
发布时间:2022-04-29 19:25
我来回答
共1个回答
热心网友
时间:2022-06-20 22:15
这个是我以前写的一个程序 我把里边没用的注掉了 如果你想添加其他功能 把注释解开就行了
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame {
private Container container;
private GridBagLayout layout;
private GridBagConstraints constraints;
private JTextField displayField;// 计算结果显示区
private String lastCommand;// 保存+,-,*,/,=命令
private double result;// 保存计算结果
private boolean start;// 判断是否为数字的开始
public Calculator() {
super("Calculator");
container = getContentPane();
layout = new GridBagLayout();
container.setLayout(layout);
constraints = new GridBagConstraints();
start = true;
result = 0;
lastCommand = "=";
displayField = new JTextField(20);
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();
// addButton("Backspace", 0, 1, 2, 1, insert);
// addButton("CE", 2, 1, 1, 1, insert);
// addButton("C", 3, 1, 1, 1, insert);
addButton("7", 0, 2, 1, 1, insert);
addButton("8", 1, 2, 1, 1, insert);
addButton("9", 2, 2, 1, 1, insert);
addButton("/", 3, 2, 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, 3, 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, 4, 1, 1, command);
addButton("0", 0, 5, 1, 1, insert);
// addButton("+/-", 1, 5, 1, 1, insert);// 只显示"-"号,"+"没有实用价值
addButton(".", 2, 5, 1, 1, insert);
addButton("+", 3, 5, 1, 1, command);
addButton("=", 0, 6, 4, 1, command);
this.setResizable(false);
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;
if (input.equals("+/-"))
displayField.setText(displayField.getText() + "-");
}
if (!input.equals("+/-")) {
if (input.equals("Backspace")) {
String str = displayField.getText();
if (str.length() > 0)
displayField
.setText(str.substring(0, str.length() - 1));
} else if (input.equals("CE") || input.equals("C")) {
displayField.setText("0");
start = true;
} else
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) {
Calculator calculator = new Calculator();
calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
用JAVA编写的科学计算器源代码
以下是一个简单的用Java编写的科学计算器的源代码示例:java import java.util.Scanner;public class ScientificCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("Welcome to the Scientific Calculator!");System.out.println("Ente...
java怎样写一个简单的计算器
以下是一个简单的例子,这个计算器可以执行加、减、乘、除操作:import java.util.Scanner;public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("Enter first number:");double num1 = scanner.nextDouble();System.ou...
求JAVA编写的 简易计算器程序,附上注释
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Calculator implements ActionListener { String s="",s1;double d1,d2;JFrame jf = new JFrame("小计算器by Graduate") ;JTextField tf = new JTextField();public void init()//实现计算器界面 { Container c...
求简单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; // 表示上一运算...
采用java语言编写一个计算器,该计算器能对正数、负数(这里的正数、负数...
double first=0,second=0,result=0;//用于保存第一个数,第二个数和计算结果 double push;//用于标识是否有数字键按下 public void actionPerformed(ActionEvent e) { if(e.getSource()==b3) {tf1.setText("0."); num=0; dot=0; push=0; flag=0; first=0;} else if(e.getSource()==b4) ...
JAVA 编写计算器 要代码最简单的
学java的时候自己编的,很简单,能够连续输入计算式后进行计算import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.text.NumberFormat;import java.util...
求一计算器java代码,最好简单一点(图形界面)
Frame fm = new Frame("简单计算器"); for (int i = 0; i <= 16; i++) { b[i] = new Button(ss[i]); } for (int i = 0; i <= 15; i++) { p2.add(b[i]); } //创建按钮 并添加到P2 b[16].setBackground(Color.yellow); txt = new TextField(15); txt.setEditable(fal...
java编写最简单的计算器,要求:需要手动输入“+”“-”等运算符,当输入...
import java.util.Scanner;public class SimpleCalculator {public static void main(String[] args) {int first =0; //第一个数int second = 0; //第二个数int result = 0;char opt = 0; //运算符Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个数:");...
求"用JAVA编写的计算器程序代码"
setTitle("简单计算器");A=getContentPane();GridBagLayout f=new GridBagLayout();A.setLayout(f);GridBagConstraints g=new GridBagConstraints();g.fill=GridBagConstraints.BOTH;g.gridwidth=1;g.gridheight=1;//面板的实例化 //显示框的实例化 tf1=new JTextField(10);tf1.setEditable(false);...
急:求一个简单的JAVA计算器代码,简单点,有图形界面的
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;class Stack_Float { float nums[];int top;Stack_Float(){ nums = new float[50];top = -1;} boolean IsEmpty(){ if (top == ...