帮我写一个在Windows上显示界面的java计算器
时间: 2023-08-31 20:38:39 浏览: 181
### 回答1:
好的,这是一个使用Java在Windows操作系统上创建一个简单计算器的示例代码。
首先,我们需要使用Java的Swing库来创建图形用户界面(GUI)。我们可以使用JFrame类来创建一个窗口,并使用JPanel类来创建一个面板,在面板上放置按钮和文本框。
我们还需要使用ActionListener接口来监听按钮点击事件,并使用DecimalFormat类来格式化输出结果。
这是代码的结构:
```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
public class Calculator {
// 定义组件
JFrame jf;
JPanel jp;
JTextField jtf;
JButton jb1, jb2, jb3, jb4, jb5, jb6, jb7, jb8, jb9, jb0;
JButton jbadd, jbsub, jbmul, jbdiv, jbpoint, jbequal;
// 定义变量
boolean point = false; // 小数点标志
boolean isFirst = true; // 第一次输入标志
double result = 0; // 结果
char op; // 运算符
// 构造函数
public Calculator() {
// 创建组件
jf = new JFrame("Calculator");
jp = new JPanel();
jtf = new JTextField(10);
jb1 = new JButton("1");
jb2 = new JButton("2");
jb3 = new JButton("3");
jb4 = new JButton("4");
jb5 = new JButton("5");
jb6 = new JButton("6");
jb7 = new JButton("7");
jb8 = new JButton("8");
jb9 = new JButton("9");
jb0 = new JButton("0");
jbadd = new JButton("+");
jbsub = new JButton("-");
jbmul =
### 回答2:
要在Windows上显示界面的Java计算器,可以使用Swing库来设计图形用户界面(GUI)。以下是一个简单的示例:
首先,导入必要的类和包:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
创建一个继承自JFrame的类来表示主窗口:
public class Calculator extends JFrame {
在主窗口的构造方法中,设置窗口的标题、大小、关闭操作和布局管理器:
public Calculator() {
setTitle("计算器");
setSize(300, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
创建一个文本框组件用于显示计算结果:
JTextField textField = new JTextField();
add(textField, BorderLayout.NORTH);
创建一个面板来放置按钮,并设置网格布局:
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 4));
创建12个数字按钮和4个运算符按钮并添加到按钮面板中:
String[] buttonLabels = {"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", ".", "=", "+"};
for (String label : buttonLabels) {
JButton button = new JButton(label);
button.addActionListener(new ButtonClickListener());
buttonPanel.add(button);
}
把按钮面板添加到主窗口的中部区域:
add(buttonPanel, BorderLayout.CENTER);
setVisible(true);
}
创建一个实现ActionListener接口的内部类来处理按钮点击事件:
private class ButtonClickListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
String buttonText = source.getText();
// 根据按钮的文本进行相应的操作
if (buttonText.equals("=")) {
// 执行计算操作并显示结果
try {
double result = calculate(textField.getText());
textField.setText(Double.toString(result));
} catch (Exception ex) {
textField.setText("错误的表达式");
}
} else {
// 在文本框中追加按钮文本
textField.setText(textField.getText() + buttonText);
}
}
}
编写一个私有的计算方法来对输入的表达式进行计算:
private double calculate(String expression) throws Exception {
// 这里可以使用任何合适的计算方法,例如使用Stack或ScriptEngine等
return (double) new ScriptEngineManager().getEngineByName("JavaScript").eval(expression);
}
最后,在主方法中创建一个Calculator对象来启动计算器:
public static void main(String[] args) {
new Calculator();
}
}
这样,一个简单的Windows上的Java计算器就制作完成了。你可以根据需求进行进一步的美化和功能增加。
### 回答3:
在Windows上编写一个显示界面的Java计算器可以使用Java Swing库来实现。下面是一个简单的例子:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator extends JFrame implements ActionListener {
private JTextField displayField;
private JPanel buttonPanel;
public Calculator() {
setTitle("计算器");
setSize(300, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建显示结果的文本框
displayField = new JTextField();
displayField.setPreferredSize(new Dimension(280, 50));
displayField.setFont(new Font("Arial", Font.PLAIN, 24));
displayField.setHorizontalAlignment(JTextField.RIGHT);
displayField.setEditable(false);
// 创建数字和运算符按钮
buttonPanel = new JPanel(new GridLayout(4, 4));
String[] buttonLabels = {"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", ".", "=", "+"};
for (String label : buttonLabels) {
JButton button = new JButton(label);
button.addActionListener(this);
buttonPanel.add(button);
}
// 将组件添加到窗口
add(displayField, BorderLayout.NORTH);
add(buttonPanel, BorderLayout.CENTER);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 当按钮被点击时,将按钮上的文本追加到文本框显示结果
JButton button = (JButton) e.getSource();
String buttonText = button.getText();
String currentText = displayField.getText();
if (buttonText.equals("=")) {
// 计算并显示结果
try {
double result = evaluateExpression(currentText);
displayField.setText(Double.toString(result));
} catch (NumberFormatException ex) {
displayField.setText("Error");
}
} else {
displayField.setText(currentText + buttonText);
}
}
// 运算表达式的计算方法,这里仅支持加、减、乘、除操作
private double evaluateExpression(String expression) {
String[] tokens = expression.split(" ");
double result = Double.parseDouble(tokens[0]);
for (int i = 1; i < tokens.length; i += 2) {
char operator = tokens[i].charAt(0);
double operand = Double.parseDouble(tokens[i + 1]);
switch (operator) {
case '+':
result += operand;
break;
case '-':
result -= operand;
break;
case '*':
result *= operand;
break;
case '/':
result /= operand;
break;
}
}
return result;
}
public static void main(String[] args) {
// 创建计算器实例
new Calculator();
}
}
```
使用以上代码,您可以在Windows上运行Java计算器程序。该计算器程序具有一个文本框用于显示结果,并包含数字和运算符按钮用于输入表达式。当用户点击等号按钮时,程序将计算表达式的结果并显示在文本框中。
阅读全文