calcengine.java

来自「现在在国外大学里最流行的java学习软件,同时还有大量的example,在名为p」· Java 代码 · 共 130 行

JAVA
130
字号
/** * The main part of the calculator performing the * arithmetic logic of the calculations. * @author Hacker T. Largebrain  * @version 0.1 */public class CalcEngine{    // The value in the display.    private int displayValue;    // The previous operator typed (+ or -).    private char previousOperator;    // The left operand to previousOperator.    private int leftOperand;    /**     * Create a CalcEngine instance.     */    public CalcEngine()    {        displayValue = 0;        previousOperator = ' ';        leftOperand = 0;    }    /**     * @return The value currently displayed     * on the calculator.     */    public int getDisplayValue()    {        return displayValue;    }    /**     * A number button was pressed.     * @param number The single digit.     */    public void numberPressed(int number)    {        displayValue = displayValue * 10 + number;    }    /**     * The '+' button was pressed.      */    public void plus()    {        applyPreviousOperator();        previousOperator = '+';        displayValue = 0;    }    /**     * The '-' button was pressed.     */    public void minus()    {        applyPreviousOperator();        previousOperator = '-';        displayValue = 0;    }        /**     * The '=' button was pressed.     */    public void equals()    {        if(previousOperator == '+') {            displayValue = leftOperand + displayValue;        }        else {            displayValue = leftOperand - displayValue;        }        leftOperand = 0;    }    /**     * The 'C' (clear) button was pressed.     */    public void clear()    {        displayValue = 0;    }    /**     * @return The title of this calculation engine.     */    public String getTitle()    {        return "Super Calculator";    }    /**     * @return The author of this engine.     */    public String getAuthor()    {        return "Hacker T. Largebrain";    }    /**     * @return The version number of this engine.     */    public String getVersion()    {        return "version 0.2";    }        /**     * An operator button has been pressed.     * Apply the immediately preceding operator to     * calculate an intermediate result. This will     * form the left operand of the new operator.     */    private void applyPreviousOperator()    {        if(previousOperator == '+') {            leftOperand += displayValue;        }        else if(previousOperator == '-') {            leftOperand -= displayValue;        }        else {            // There was no preceding operator.            leftOperand = displayValue;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?