国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java編寫計算器

這篇具有很好參考價值的文章主要介紹了Java編寫計算器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

主要用JAVA編寫一個計算器,能實現(xiàn)加減乘除、開平方、求階乘等計算功能,計算器有圖形化界面,能對異常進(jìn)行處理,并且檢驗輸入的合法性,對不合法的輸入給出具體的提示信息
代碼如下

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CalculatorFrame extends JFrame implements ActionListener {
	private JTextField resultDisplay; //結(jié)果顯示文本框
    private double num1; //第一個數(shù)字
    private double num2; //第二個數(shù)字
    private char operator = 'C'; //操作符,默認(rèn)為清屏

    public CalculatorFrame() 
    {
        super("計算器");

        JPanel mainPanel = new JPanel(); //主面板
        mainPanel.setLayout(new BorderLayout());

        resultDisplay = new JTextField(); //結(jié)果顯示文本框
        resultDisplay.setEditable(false); //不能編輯
        mainPanel.add(resultDisplay, BorderLayout.NORTH); //添加到面板上方

        JPanel buttonPanel = new JPanel(new GridLayout(5, 4, 5, 5)); //按鈕面板,4行4列,行列間距為5

        addButton(buttonPanel, "7"); 
        addButton(buttonPanel, "8");
        addButton(buttonPanel, "9");
        addButton(buttonPanel, "÷"); //添加按鈕:“7”、“8”、“9”、“÷”

        addButton(buttonPanel, "4");
        addButton(buttonPanel, "5");
        addButton(buttonPanel, "6");
        addButton(buttonPanel, "×"); //添加按鈕:“4”、“5”、“6”、“×”

        addButton(buttonPanel, "1");
        addButton(buttonPanel, "2");
        addButton(buttonPanel, "3");
        addButton(buttonPanel, "-"); //添加按鈕:“1”、“2”、“3”、“-”

        addButton(buttonPanel, "0");
        addButton(buttonPanel, ".");
        addButton(buttonPanel, "C");
        addButton(buttonPanel, "+"); //添加按鈕:“0”、“.”、“C”、“+”

        addButton(buttonPanel, "x2");
        addButton(buttonPanel, "√");
        addButton(buttonPanel, "x!");
        addButton(buttonPanel, "="); //添加按鈕:“x2”、“√”、“x!”、“=” 

        mainPanel.add(buttonPanel, BorderLayout.CENTER); //添加按鈕面板,位于主面板的中央

        JButton equalsButton = new JButton("="); //等于號按鈕
        equalsButton.addActionListener(this); //添加事件響應(yīng)器
        mainPanel.add(equalsButton, BorderLayout.SOUTH); //添加到主面板下方

        add(mainPanel); //將主面板添加到窗口中
    }

    private void addButton(Container panel, String label) 
    {
        JButton button = new JButton(label); //新建按鈕
        button.addActionListener(this); //添加事件響應(yīng)器
        panel.add(button); //添加到按鈕面板中
    }

    // 響應(yīng)用戶操作事件
    public void actionPerformed(ActionEvent evt) 
    {
        String text = evt.getActionCommand(); //獲取用戶操作

        if (text.equals("C")) 
        { //清屏
            resultDisplay.setText("");
            num1 = 0;
            num2 = 0;
            operator = 'C';
            return;
        }

        if (text.equals("x2")) 
        { //平方
            num1 = Double.parseDouble(resultDisplay.getText()); //獲取當(dāng)前數(shù)字
            resultDisplay.setText(String.valueOf(num1 * num1)); //計算平方并顯示
            operator = 'C';
            return;
        }

        if (text.equals("√")) 
        { //開方
            num1 = Double.parseDouble(resultDisplay.getText()); //獲取當(dāng)前數(shù)字
            if (num1 < 0) 
            { //負(fù)數(shù)不能開方
                resultDisplay.setText("不能對負(fù)數(shù)求平方根");
                return;
            }
            resultDisplay.setText(String.valueOf(Math.sqrt(num1))); //計算開方并顯示
            operator = 'C';
            return;
        }

        if (text.equals("x!")) 
        { //階乘
            num1 = Double.parseDouble(resultDisplay.getText()); //獲取當(dāng)前數(shù)字
            resultDisplay.setText(String.valueOf(factorial(num1))); //計算階乘并顯示
            operator = 'C';
            return;
        }

        if (text.equals("+") || text.equals("-") || text.equals("×") ||
            text.equals("÷")) 
        { //基本運(yùn)算
            num1 = Double.parseDouble(resultDisplay.getText()); //獲取第一個數(shù)字
            operator = text.charAt(0); //獲取操作符
            resultDisplay.setText(""); //清空結(jié)果文本框
            return;
        }

        if (text.equals("=")) 
        { //計算結(jié)果
            num2 = Double.parseDouble(resultDisplay.getText()); //獲取第二個數(shù)字

            switch (operator) { //選擇合適的操作符進(jìn)行計算
            case '+':
                resultDisplay.setText(String.valueOf(num1 + num2));
                break;
            case '-':
                resultDisplay.setText(String.valueOf(num1 - num2));
                break;
            case '×':
                resultDisplay.setText(String.valueOf(num1 * num2));
                break;
            case '÷':
                if (num2 == 0) 
                { //除數(shù)不能為零
                    resultDisplay.setText("除數(shù)不能為零");
                    return;
                }
                resultDisplay.setText(String.valueOf(num1 / num2));
                break;
        }

        operator = 'C'; //清除操作符
        return;
        }

    resultDisplay.setText(resultDisplay.getText() + text); //輸出數(shù)字或小數(shù)點
    }

    // 計算階乘
    public static double factorial(double num) 
    {
    	if (num == 0)
    		return 1;

    	double result = 1;

    	for (int i = 1; i <= num; i++) 
    	{
    		result *= i;
    	}

    	return result;
    }

    public static void main(String[] args) 
    {
    	CalculatorFrame calculator = new CalculatorFrame();
    	calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	calculator.setSize(300, 350);
    	calculator.setVisible(true);
    }
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-509579.html

?

到了這里,關(guān)于Java編寫計算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java算法題 給一個字符串表達(dá)式,實現(xiàn)一個基本計算器,返回計算結(jié)果

    題目: 考點:棧 解題思路: 使用 2 個棧,一個 stack_nums 用來保存計算過程的操作數(shù),一個 stack_symbol 用來保存運(yùn)算符。 在HashMap中,指定加減優(yōu)先級為1,乘除優(yōu)先級為2 循環(huán)遍歷字符串s, 操作符入棧: 若當(dāng)前字符為\\\'+\\\', \\\'-\\\', \\\'*\\\', \\\'/\\\', \\\'(\\\' 時,壓入運(yùn)算符棧 stack_symbol, 操作數(shù)入

    2024年02月07日
    瀏覽(18)
  • Java——一個簡單的計算器程序

    Java——一個簡單的計算器程序

    ? 該代碼是一個簡單的計算器程序,使用了Java的圖形化界面庫Swing。具體分析如下: 導(dǎo)入必要的類和包: 代碼中導(dǎo)入了用于創(chuàng)建圖形界面的類和接口,以及其他必要的類。 定義Calculator類: 代碼中定義了一個名為Calculator的類,繼承了JFrame類,并實現(xiàn)了ActionListener接口。Calc

    2024年02月04日
    瀏覽(21)
  • Java設(shè)計一個簡單的計算器程序

    計算器是一種常見的工具,用于進(jìn)行基本數(shù)學(xué)運(yùn)算。在計算機(jī)科學(xué)中,我們可以使用編程語言來模擬和實現(xiàn)一個計算器程序。本文將基于Java語言,設(shè)計并實現(xiàn)一個簡單的計算器程序。 1. 需求分析 在設(shè)計計算器程序之前,我們需要明確程序的需求。本文設(shè)計的計算器程序應(yīng)滿

    2024年02月05日
    瀏覽(38)
  • 模擬實現(xiàn)一個簡單的計算器
  • 用代碼實現(xiàn)一個簡單計算器

    用代碼實現(xiàn)一個簡單計算器

    作者主頁: paper jie的博客_CSDN博客-C語言,算法詳解領(lǐng)域博主 本文作者: 大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于 《C語言》專欄,本專欄是針對于大學(xué)生,編程小白精心打造的。筆者用重金(時間和精力)打造,將C語言基礎(chǔ)知識一網(wǎng)打盡,希望可

    2024年02月08日
    瀏覽(27)
  • 【C++小項目】實現(xiàn)一個日期計算器

    【C++小項目】實現(xiàn)一個日期計算器

    目錄 Ⅰ. 引入 Ⅱ. 列輪廓 Ⅲ. 功能的實現(xiàn) 構(gòu)造函數(shù) Print 判斷是否相等 == | != ??==: ??!=: 判斷大小 | = | | = ??: ??=: ??=: ??: 加減天數(shù) + | += | - | -= ??+=: ??+: ??-: ??-=: 自增/自減 ++ | -- ??前置++ ??后置++ ??前置-- ??后置-- 日期減日期 ?

    2024年02月11日
    瀏覽(26)
  • HTML和JavaScript實現(xiàn)一個簡單的計算器

    HTML和JavaScript實現(xiàn)一個簡單的計算器

    使用HTML和JavaScript實現(xiàn)一個簡單的計算器。 這段代碼會在瀏覽器中創(chuàng)建一個標(biāo)題為\\\"Simple Calculator\\\"的頁面。頁面頂部有一個 h1 元素,用于顯示標(biāo)題。計算器界面使用了CSS網(wǎng)格布局,將按鈕排列為4列。 在JavaScript部分,定義了一些函數(shù)來處理計算器的操作。 appendCharacter() 函數(shù)用

    2024年02月13日
    瀏覽(34)
  • 使用 Jetpack Compose 實現(xiàn)一個計算器APP

    使用 Jetpack Compose 實現(xiàn)一個計算器APP

    在上一篇文章中,我們說到打算使用 compose 實現(xiàn)一個計算器 APP,最開始打算做一個經(jīng)典的 LCD 基礎(chǔ)計算器,后來覺得好像沒啥特色,最終決定還是改成仿微軟計算器。 不過,微軟計算器的功能太多了,仿制的工程量不小,所以我打算只仿我認(rèn)為最核心的兩個模式:標(biāo)準(zhǔn)模式和

    2024年02月05日
    瀏覽(24)
  • 【Servlet學(xué)習(xí)三】實現(xiàn)一個內(nèi)存版本的簡易計算器~

    【Servlet學(xué)習(xí)三】實現(xiàn)一個內(nèi)存版本的簡易計算器~

    目錄 一、方式1:使用form表單的形式(不推薦) ??1、前端代碼:HTML文件 ??2、后端代碼:Calculator_form.java文件 ??3、最終效果 二、方式2:使用ajax形式(最常用重點?。。。???1、前端代碼:HTML文件 ??2、后端代碼:Calculator_ajax.java文件 ??3、最終效果 ?注意: (1)前端

    2024年02月12日
    瀏覽(21)
  • 用JavaScript和HTML實現(xiàn)一個精美的計算器

    用JavaScript和HTML實現(xiàn)一個精美的計算器

    計算器是我們?nèi)粘I钪薪?jīng)常使用的工具之一,可以幫助我們進(jìn)行簡單的數(shù)學(xué)運(yùn)算。在本博文中,我將使用JavaScript編寫一個漂亮的計算器,并添加加減乘除功能。這個計算器將有一個精美的用戶界面,包含9個數(shù)字按鈕和加減乘除操作符。 HTML:負(fù)責(zé)構(gòu)建界面 CSS:負(fù)責(zé)美化界

    2024年02月15日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包