Java简易计算器实现&控制台万年历的设计实现

本文介绍了如何使用Java实现一个简易的计算器,包括其功能效果和代码实现。此外,还详细讲解了控制台万年历的设计,提供了代码展示和效果演示。
摘要由CSDN通过智能技术生成

本文例程出自《Java核心技术》,主编:马志强、张然等。感觉这本书部分章节写的还可以,比很多入门级的书更加直白和趣味性强,更接近实际项目层面!

1.Java简易计算器实现
1.1.效果
在这里插入图片描述

1.2.代码

package charpter06.edu.com.login.JMenuTest;
import java.awt.BorderLayout;  
import java.awt.Color;  
import java.awt.GridLayout;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import javax.swing.JButton;  
import javax.swing.JFrame;  
import javax.swing.JPanel;  
import javax.swing.JTextField;  

public class Calculator extends JFrame implements ActionListener {  
   /** 计算器上的键的显示名字 */  
   private final String[] KEYS = { "1", "2", "3", "+", "sqrt", "4", "5", "6",  
           "-", "%", "7", "8", "9", "*", "1/x", "0", "+/-", ".", "/", "=" };  
    /** 计算器上的功能键的显示名字 */  
    private final String[] COMMAND = { "Backspace", "CE", "C" };  
  /** 计算器左边的M的显示名字 */  
   private final String[] M = { " ", "MC", "MR", "MS", "M+" };  
    /** 计算器上键的按钮 */  
   private JButton keys[] = new JButton[KEYS.length];  
    /** 计算器上的功能键的按钮 */  
    private JButton commands[] = new JButton[COMMAND.length];  
   /** 计算器左边的M的按钮 */  
   private JButton m[] = new JButton[M.length];  
   /** 计算结果文本框 */  
    private JTextField resultText = new JTextField("0");  
  
   // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字  
   private boolean firstDigit = true;  
   // 计算的中间结果。  
   private double resultNum = 0.0;  
    // 当前运算的运算符  
    private String operator = "=";  
    // 操作是否合法  
    private boolean operateValidFlag = true;  
  
    /** 
     * 构造函数 
     */  
    public Calculator() {  
        super();  
        // 初始化计算器  
        init();  
        // 设置计算器的背景颜色  
        this.setBackground(Color.LIGHT_GRAY);  
        this.setTitle("计算器");  
        // 在屏幕(500, 300)坐标处显示计算器  
        this.setLocation(500, 300);  
        // 不许修改计算器的大小  
        this.setResizable(false);  
        // 使计算器中各组件大小合适  
        this.pack();  
    }  
  
    /** 
    * 初始化计算器 
     */  
    private void init() {  
        // 文本框中的内容采用右对齐方式  
        resultText.setHorizontalAlignment(JTextField.RIGHT);  
        // 不允许修改结果文本框  
        resultText.setEditable(false);  
        // 设置文本框背景颜色为白色  
        resultText.setBackground(Color.white);  
  
        // 初始化计算器上键的按钮,将键放在一个画板内  
        JPanel calckeysPanel = new JPanel();  
        // 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素  
        calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3));  
        for (int i =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值