JAVA计算器

本文介绍了一个使用Java实现的简易计算器程序,该程序采用图形用户界面(GUI),支持基本的四则运算。通过组合使用`Frame`、`TextField`、`JComboBox`等组件实现了输入数字、选择运算符并计算结果的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



package Pretic;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JOptionPane;

public class TfMath {
     public static void main(String args[]){
     TFframe frame =  new TFframe("计算器");
     frame.launchframe();
     frame.addWindowListener(new MyWindowListener());
     }
}


class TFframe extends Frame {
 
 TextField num1,num2,num3;
 JComboBox box;
 TFframe(String str){
  super(str);
 }
   public void launchframe(){
     num1 = new TextField(10);
     num1.setText("0");
     num2 = new TextField(10);
     num2.setText("0");
     num3 = new TextField(20);
     num3.setText("0");
     num3.setEditable(false);
     
    //Label lalPlus = new Label("+");
    String array[] = {"+","-","*","/"};
    box = new JComboBox(array);
    //box.selectWithKeyChar(array[0]);
    
    Button btu = new Button("=");
    btu.addActionListener(new MyMonitor(this)); 
    
    setLayout(new FlowLayout());
    add(num1);
    add(box);
    add(num2);
       add(btu);
    add(num3);
    pack();
    setVisible(true);
       setResizable(false);
   }
}

class MyMonitor implements ActionListener{
 //设置大管家(引用)
   TFframe tf;
    MyMonitor(TFframe tf){
    this.tf = tf;
   }
 @Override
 public void actionPerformed(ActionEvent e) {
  double n1 = Integer.parseInt(tf.num1.getText());
  double n2 = Integer.parseInt(tf.num2.getText());
  if(tf.box.getSelectedItem() == "+"){
   tf.num3.setText(" "+ (n1+n2)); 
  }
  else if(tf.box.getSelectedItem() == "-"){
   tf.num3.setText(" "+ (n1-n2)); 
  }
  else if(tf.box.getSelectedItem() == "*"){
   tf.num3.setText(" "+ (n1*n2)); 
  }
  else if(tf.box.getSelectedItem() == "/"){
   if(n2 == 0){
    JOptionPane.showMessageDialog(tf, "除数不能为0"); 
    return;
   }
   tf.num3.setText(" "+ (n1/n2)); 
  }
  
 }
 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值