Java GUI 计算器:创建一个小程序,对数字进行简单的加法和减法

问题描述 投票:0回答:3

我想在夏天扩展我的 Java 知识,所以我正在开发配备 GUI 的计算器应用程序,这是一个小程序,我希望它对给定的数字进行简单的加法和减法。我想要同时拥有:

.java
.html
文件。 当我尝试编译应用程序的代码时,出现错误:

C:\Users\quinja>javac Calculator.java javac: 
file not found: Calculator.java Usage: 
javac use -help for a list of possible options

我看不到任何错误,但我是 Java 新手,所以如果有人可以查看它并尝试找到任何导致错误的内容,那么我将不胜感激地解释如何修复它们。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator {
    public static void main(String[] args) {  
        CalculatorFrame frame = new CalculatorFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

//   A frame with a calculator panel.
class CalculatorFrame extends JFrame {
    public CalculatorFrame() {
        setTitle("Calculator");
        CalculatorPanel panel = new CalculatorPanel();
        add(panel);
        pack();
    }
}

//   A panel with calculator buttons and a result display.

class CalculatorPanel extends JPanel {  
    public CalculatorPanel() {  
        setLayout(new BorderLayout());

        result = 0;
        lastCommand = "=";
        start = true;

        // add the display

        display = new JButton("0");
        display.setEnabled(false);
        add(display, BorderLayout.NORTH);

        ActionListener insert = new InsertAction();
        ActionListener command = new CommandAction();

        // add the buttons in a 4 x 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);
    }

    /*
    Adds a button to the center panel.
    @param label the button label
    @param listener the button listener
    */
    private void addButton(String label, ActionListener listener) {  
        JButton button = new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }

    /*
    This action inserts the button action string to the
    end of the display text.
    */
    private class InsertAction implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String input = event.getActionCommand();
            if (start)  {
                display.setText("");
                start = false;
            }
        display.setText(display.getText() + input);
        }
    }

    /*
    This action executes the command that the button
    action string denotes.
    */
    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;
            }
        }
    }

    /*
    Carries out the pending calculation. 
    @param x the value to be accumulated with the prior result.
    */
    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;
        }

        display.setText("" + result);
    }

    private JButton display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;
}
java applet calculator
3个回答
0
投票

这是因为您的 cmd 指向目录“quinja”,而您的 java 文件位于其他位置。首先尝试将你的cmd指向你的java文件所在的目录,然后编译..

您可以使用 cd 命令进入所需的目录。 如果您不知道怎么做,请告诉我您的文件路径和文件名,然后我会告诉您。

评论后回复:

打开cmd然后输入- cd java

javac 你的文件名.java


0
投票

检查您的 PATH/ClassPath 并尝试使用 Calculator.java 文件的绝对路径

javac c:\tmp\Calculator.java

您在哪里编写 Calculator.java 文件?


0
投票

如果您不熟悉命令行工具,也可以尝试 GUI 工具。 您可以尝试 Eclipse、Netbeans 等...

© www.soinside.com 2019 - 2024. All rights reserved.