怎样用java制作一个简单的计算器app

有加减乘除小数点等于的运算就行了,反正我开始点需other, 然后点jframe,进入页面之后点一下水平制然后就点什么jbutton jText之类的,然后这些按钮里面写什么内容呢??我就不会了
傲骨
浏览 3843回答 1
1回答

大咪

import java.awt.*; import java.awt.event.*; import javax.swing.*;   public class Calc extends JFrame implements ActionListener {     private static final long serialVersionUID = -169068472193786457L;     private class WindowCloser extends WindowAdapter {        public void windowClosing(WindowEvent we) {            System.exit(0);        }     }       int i;         private final String[] str = { "7", "8", "9", "/", "4", "5", "6", "*", "1",            "2", "3", "-", ".", "0", "=", "+" };     // 建立按钮     JButton[] buttons = new JButton[str.length];     // 撤销重置     JButton reset = new JButton("CE");     // 建立文本域显示结果     JTextField display = new JTextField("0");              public Calc() {        super("Calculator");        // 添加一个面板        JPanel panel1 = new JPanel(new GridLayout(4, 4));        // panel1.setLayout(new GridLayout(4,4));        for (i = 0; i < str.length; i++) {            buttons[i] = new JButton(str[i]);            panel1.add(buttons[i]);        }        JPanel panel2 = new JPanel(new BorderLayout());        // panel2.setLayout(new BorderLayout());        panel2.add("Center", display);        panel2.add("East", reset);        // JPanel panel3 = new Panel();        getContentPane().setLayout(new BorderLayout());        getContentPane().add("North", panel2);        getContentPane().add("Center", panel1);        // 添加操作动作的监听器.        for (i = 0; i < str.length; i++)            buttons[i].addActionListener(this);        // 为重置按钮添加监听器        reset.addActionListener(this);        display.addActionListener(this);        // The "close" button "X".        addWindowListener(new WindowCloser());        // Initialize the window size.        setSize(800, 800);        // Show the window.        // show(); Using show() while JDK version is below 1.5.        setVisible(true);        // Fit the certain size.        pack();     }             public void actionPerformed(ActionEvent e) {        Object target = e.getSource();        String label = e.getActionCommand();        if (target == reset)            handleReset();        else if ("0123456789.".indexOf(label) > 0)            handleNumber(label);        else            handleOperator(label);     }     // Is the first digit pressed?     boolean isFirstDigit = true;     /**      * Number handling.      * @param key the key of the button.      */     public void handleNumber(String key) {        if (isFirstDigit)            display.setText(key);        else if ((key.equals(".")) && (display.getText().indexOf(".") < 0))            display.setText(display.getText() + ".");        else if (!key.equals("."))            display.setText(display.getText() + key);        isFirstDigit = false;     }          /**      * Reset the calculator.      */     public void handleReset() {        display.setText("0");        isFirstDigit = true;        operator = "=";     }       double number = 0.0;     String operator = "=";             public void handleOperator(String key) {        if (operator.equals("+"))            number += Double.valueOf(display.getText());        else if (operator.equals("-"))            number -= Double.valueOf(display.getText());        else if (operator.equals("*"))            number *= Double.valueOf(display.getText());        else if (operator.equals("/"))            number /= Double.valueOf(display.getText());        else if (operator.equals("="))            number = Double.valueOf(display.getText());        display.setText(String.valueOf(number));        operator = key;        isFirstDigit = true;     }          public static void main(String[] args) {        new Calc();     } } 你创建完的面板需要继承一个监听器,他的目的是监听你的按键并将参数传入,算法部分就是很简单的+-*/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java