求基于Java开发的多功能计算器源码,要有注释的,谢谢!

import java.awt.event.*;public class Calculator extends WindowAdapter implements ActionListener { private double result=0,data1=0,radixPointDepth=1;private boolean radixPointIndicate=false,resultIndicate=false;private char prec='+';private Frame f;private TextField tf;private Button b1,b2...
求基于Java开发的多功能计算器源码,要有注释的,谢谢!
import java.awt.*;
import java.awt.event.*;
public class Calculator extends WindowAdapter implements ActionListener
{
private double result=0,data1=0,radixPointDepth=1;
private boolean radixPointIndicate=false,resultIndicate=false;
private char prec='+';
private Frame f;
private TextField tf;
private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;
private Panel p;
static public void main(String args[])
{
Calculator de=new Calculator();
de.go();
}
public void go()
{
f=new Frame("计算器");
p=new Panel();
p.setLayout(new GridLayout(4,4));
tf=new TextField(30);
b1=new Button("7");
b2=new Button("8");
b3=new Button("9");
b4=new Button("+");
b5=new Button("4");
b6=new Button("5");
b7=new Button("6");
b8=new Button("-");
b9=new Button("1");
b10=new Button("2");
b11=new Button("3");
b12=new Button("*");
b13=new Button("0");
b14=new Button(".");
b15=new Button("=");
b16=new Button("/");
b17=new Button("清零");
f.add(tf,"North");
f.add(p,"Center");
f.add(b17,"South");
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
p.add(b9);
p.add(b10);
p.add(b11);
p.add(b12);
p.add(b13);
p.add(b14);
p.add(b15);
p.add(b16);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
b17.addActionListener(this);
f.addWindowListener(this);
f.setSize(250,190);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String s;
s=e.getActionCommand();
switch(s.charAt(0))
{
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
if(resultIndicate)
{
result=0;
data1=0;
prec='+';
}
Integer Int1=new Integer(s);
if(radixPointIndicate)
{
radixPointDepth=radixPointDepth/10;
data1=data1+(Int1.intValue())*radixPointDepth;
}
else
{
data1=data1*10+(Int1.intValue());
}
Double displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
resultIndicate=false;
break;
case '+': case '-':case '*':case '/':case '=':
if(s.charAt(0)!='='&&resultIndicate)
{
prec=s.charAt(0);
resultIndicate=false;
}
else
{
switch(prec)
{
case '+':
result=result+data1;
break;
case '-':
result=result-data1;
break;
case '*':
result=result*data1;
break;
case '/':
result=result/data1;
break;
}
}
radixPointIndicate=false;
radixPointDepth=1;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
if(s.charAt(0)!='=')
{
data1=0;
prec=s.charAt(0);
}
else
{
resultIndicate=true;
}
break;
case '.':
radixPointIndicate=true;
break;
}
if(s.equals("清零"))
{
result=0;
data1=0;
radixPointDepth=1;
tf.setText("");
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}2007-05-15
mengvlog 阅读 277 次 更新于 2025-09-09 05:53:42 我来答关注问题0
  • import java.awt.*;import java.awt.event.*;public class Calculator extends WindowAdapter implements ActionListener { private double result=0,data1=0,radixPointDepth=1;private boolean radixPointIndicate=false,resultIndicate=false;private char prec='+';private Frame f;private TextField tf;...

  • 山水阿锐 Java设计多功能计算器能接四元一次方程组

    您好,您这样://设置各个按钮行为 public void actionPerformed(ActionEvent event) { boolean sign = false; //判断是否是double型数参与运算,是为true,不是为false Object temp = event.getSource();try { //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后 for (int i =...

  •  阿暄生活 推荐两款电脑文件处理工具,强大到你不舍得卸载

    操作界面清爽简洁:类似于Total Commander,提供了文件过滤、多标签浏览、文件浏览、图片、文本文档、音频等功能,操作便捷。综上所述,EasyFileCount和FreeCommander都是功能强大且易于使用的电脑文件处理工具。它们各自具有独特的功能和优势,能够满足不同用户的需求。无论是需要快速查看文件夹大小、查找大文件和...

  •  翡希信息咨询 JAVA开发工具有哪些?

    Apache Maven:适用于Java项目的构建和管理。Gradle:项目自动化工具,基于Apache Ant和Maven功能。集成开发环境:NetBeans:免费开源的IDE,支持桌面、移动和Web应用程序开发。Eclipse:Java开源IDE,提供丰富的建模、测试工具和开发框架。IntelliJ IDEA:专注于Java开发的多功能IDE,支持Web、移动和混合应用程序...

  •  文暄生活科普 基于 JavaFx 搭建的实用小工具集合

    xJavaFxTool:基于 JavaFx 搭建的实用小工具集合 项目简介:xJavaFxTool 是一个基于 JavaFx 实现的工具集合,它集成了各式各样的开发工具以及一些有趣的小工具,旨在为用户提供一款多功能、便捷的工具软件,省去一一安装各类软件的麻烦。目前集成的工具:FileCopy:文件复制工具,方便用户快速复制文件。CronE...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部