国产欧美久久久久久精品四区借种_久久免费看黄a级毛片_欧美老熟妇乱大交xxxxx_f2dgc国产在线视频大全_亚洲www啪成人一区二区_中文字幕爆乳julia女教师_日本捏胸吃奶视频免费_午夜性刺激视频在线观看尤物影院_公妇乱婬在线播放中文

java簡(jiǎn)單計(jì)算器怎么帶時(shí)間顯示?
網(wǎng)絡(luò)資訊 2024-08-03 17:30 343

Java簡(jiǎn)單計(jì)算器帶時(shí)間顯示

簡(jiǎn)介

在開發(fā)一個(gè)Java簡(jiǎn)單計(jì)算器時(shí),除了基本的加減乘除功能外,添加時(shí)間顯示功能可以提升用戶體驗(yàn)。本文將介紹如何在Java中實(shí)現(xiàn)一個(gè)帶有時(shí)間顯示的簡(jiǎn)單計(jì)算器。

功能需求

  1. 基本的四則運(yùn)算:加、減、乘、除。
  2. 顯示當(dāng)前時(shí)間。
  3. 界面友好,操作簡(jiǎn)單。

技術(shù)選型

  • Java Swing:用于構(gòu)建圖形用戶界面(GUI)。
  • Java Date API:用于獲取和顯示當(dāng)前時(shí)間。

實(shí)現(xiàn)步驟

1. 創(chuàng)建Swing界面

首先,我們需要?jiǎng)?chuàng)建一個(gè)Swing界面,包括按鈕、文本框和標(biāo)簽等組件。

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

public class Calculator extends JFrame {
    private JTextField display;
    private String lastCommand;
    private double result;

    public Calculator() {
        setTitle("簡(jiǎn)單計(jì)算器");
        setSize(400, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new BorderLayout());

        // 顯示時(shí)間的標(biāo)簽
        JLabel timeLabel = new JLabel("時(shí)間:", SwingConstants.RIGHT);
        timeLabel.setFont(new Font("Serif", Font.BOLD, 20));
        add(timeLabel, BorderLayout.NORTH);

        // 顯示計(jì)算結(jié)果的文本框
        display = new JTextField();
        display.setFont(new Font("Serif", Font.BOLD, 20));
        display.setEditable(false);
        add(display, BorderLayout.CENTER);

        // 按鈕面板
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new GridLayout(5, 4));
        String[] buttonLabels = {
                "7", "8", "9", "/",
                "4", "5", "6", "*",
                "1", "2", "3", "-",
                "0", ".", "=", "+"
        };
        for (String label : buttonLabels) {
            JButton button = new JButton(label);
            button.setFont(new Font("Serif", Font.BOLD, 20));
            buttonPanel.add(button);
            button.addActionListener(new ButtonClickListener());
        }
        add(buttonPanel, BorderLayout.SOUTH);

        // 定時(shí)器更新時(shí)間
        Timer timer = new Timer(1000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                updateTime();
            }
        });
        timer.start();
    }

    private void updateTime() {
        display.setText("時(shí)間:" + new java.util.Date().toString());
    }

    private class ButtonClickListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            JButton button = (JButton) e.getSource();
            String input = button.getText();
            if (input.equals("+") || input.equals("-") || input.equals("*") || input.equals("/")) {
                lastCommand = input;
                display.setText("");
            } else if (input.equals("=")) {
                calculate();
            } else {
                display.setText(display.getText() + input);
            }
        }
    }

    private void calculate() {
        try {
            double number = Double.parseDouble(display.getText());
            switch (lastCommand) {
                case "+":
                    result += number;
                    break;
                case "-":
                    result -= number;
                    break;
                case "*":
                    result *= number;
                    break;
                case "/":
                    result /= number;
                    break;
            }
            display.setText("" + result);
        } catch (NumberFormatException ex) {
            display.setText("錯(cuò)誤");
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Calculator().setVisible(true);
            }
        });
    }
}

2. 實(shí)現(xiàn)時(shí)間顯示

在上述代碼中,我們使用Timer類創(chuàng)建了一個(gè)定時(shí)器,每隔1000毫秒(1秒)更新時(shí)間標(biāo)簽的顯示。

3. 四則運(yùn)算邏輯

通過監(jiān)聽按鈕點(diǎn)擊事件,根據(jù)用戶輸入的數(shù)字和運(yùn)算符進(jìn)行計(jì)算。

4. 運(yùn)行程序

運(yùn)行main方法,將顯示一個(gè)包含時(shí)間顯示的簡(jiǎn)單計(jì)算器窗口。

總結(jié)

通過上述步驟,我們成功實(shí)現(xiàn)了一個(gè)帶有時(shí)間顯示的Java簡(jiǎn)單計(jì)算器。這個(gè)計(jì)算器不僅能夠進(jìn)行基本的四則運(yùn)算,還能實(shí)時(shí)顯示當(dāng)前時(shí)間,提高了用戶的使用體驗(yàn)。在實(shí)際開發(fā)中,可以根據(jù)需求進(jìn)一步擴(kuò)展功能,如添加歷史記錄、科學(xué)計(jì)算等。

注意事項(xiàng)

  • 確保Java環(huán)境已正確安裝。
  • 代碼中可能需要根據(jù)實(shí)際情況調(diào)整字體大小和布局。
  • 異常處理在實(shí)際開發(fā)中非常重要,需要確保程序的健壯性。

標(biāo)簽:

  • Java
  • 計(jì)算器
  • 時(shí)間顯示
  • Swing
  • DateAPI