求基于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 阅读 6 次 更新于 2025-07-19 04:18:25 我来答关注问题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 =...

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

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

  •  文暄生活科普 JAVA开发工具有哪些?

    13)Java Decompiler,免费的Java工具,从CLASS文件反编译生成准确的Java源代码。14)Gradle,项目自动化的Java工具,基于Apache Ant和Apache Maven功能。15)Cobertura,免费的Java工具,计算测试覆盖代码百分比,识别缺失的Java程序测试覆盖。16)Groovy,一种功能强大的静态编译语言,提高开发人员生产力。17)Y...

  •  文暄生活科普 干货|多功能的免费科研图片处理工具:Image J

    Image J是一个由National Institutes of Health(NIH)开发的基于java的免费开源软件,广泛用于生物及医学图像分析。很多科研人员使用它来处理图片数据,但初次使用可能会觉得不易上手。下载安装Image J非常简单,只需前往官网,选择Windows、Linux或Mac OSX版本进行下载后解压安装即可。打开Image J后,界面会...

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

Java相关话题

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