java简易计算器用例图
时间: 2024-01-12 13:22:17 浏览: 64
根据提供的引用内容,以下是一个简单的Java计算器的用例图:
```plaintext
@startuml
left to right direction
actor User
User -> Calculator : 输入操作数1、运算符、操作数2
Calculator -> Calculator : 验证输入合法性
Calculator -> Calculator : 执行相应的运算
Calculator -> User : 返回计算结果
@enduml
```
相关问题
简易计算器系统的用例图
抱歉,我无法提供图形内容。但是我可以为您提供一个简单的文本描述来表示简易计算器系统的用例图。以下是一个可能的用例图描述:
主要参与者:用户
涉及的用例:
1. 输入数字:用户可以输入数字。
2. 输入操作符:用户可以输入操作符(例如加法、减法等)。
3. 执行计算:系统根据用户输入的数字和操作符执行计算。
4. 显示结果:系统将计算结果显示给用户。
请注意,这只是一个简单的示例,并不涵盖所有可能的用例。实际系统中可能会有更多的用例和参与者,具体取决于系统的需求和功能。
java简易计算器图形化结构图
我很抱歉,作为一名语言模型AI,我无法绘制图形化结构图。但我可以给你提供一个简单的Java计算器程序的代码,你可以根据代码自己尝试绘制结构图。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JPanel panel;
private JTextField display;
private JButton[] buttons;
private String[] labels = { "Backspace", "", "", "CE", "C", "7", "8", "9", "/", "sqrt", "4", "5", "6", "*", "%", "1",
"2", "3", "-", "1/x", "0", "+/-", ".", "+", "=", };
private double result = 0;
private String operator = "=";
private boolean startOfNumber = true;
public Calculator() {
display = new JTextField(35);
panel = new JPanel();
display.setText("0.0");
panel.setLayout(new GridLayout(0, 5, 3, 3));
buttons = new JButton[25];
int index = 0;
for (int rows = 0; rows < 5; rows++) {
for (int cols = 0; cols < 5; cols++) {
buttons[index] = new JButton(labels[index]);
if (cols >= 3)
buttons[index].setForeground(Color.red);
else
buttons[index].setForeground(Color.blue);
buttons[index].setBackground(Color.yellow);
panel.add(buttons[index]);
buttons[index].addActionListener(this);
index++;
}
}
add(display, BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
setVisible(true);
pack();
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.charAt(0) == 'C') {
startOfNumber = true;
result = 0;
operator = "=";
display.setText("0.0");
} else if (command.charAt(0) >= '0' && command.charAt(0) <= '9' || command.equals(".")) {
if (startOfNumber == true)
display.setText(command);
else
display.setText(display.getText() + command);
startOfNumber = false;
} else {
if (startOfNumber) {
if (command.equals("-")) {
display.setText(command);
startOfNumber = false;
} else
operator = command;
} else {
double x = Double.parseDouble(display.getText());
arithmetic(x);
operator = command;
startOfNumber = true;
}
}
}
public void arithmetic(double y) {
if (operator.equals("+"))
result += y;
else if (operator.equals("-"))
result -= y;
else if (operator.equals("*"))
result *= y;
else if (operator.equals("/"))
result /= y;
else if (operator.equals("sqrt"))
result = Math.sqrt(y);
else if (operator.equals("%"))
result %= y;
else if (operator.equals("="))
result = y;
else if (operator.equals("1/x"))
result = 1 / y;
display.setText("" + result);
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
}
}
```