急求!java简单计算器和画板的程序。

头像
杂草公主/yl   2021-09-18   2346浏览
已有50条回答
头像
梦想成真罗
2023-10-25

import java.awt.*;
import java.awt.event.*;
public class Counter extends Frame implements ActionListener
{
TextField t=new TextField("");
Panel p1=new Panel();
Panel p2=new Panel();
Button[] b=new Button[14];
Button bAdd=new Button("加");
Button bSub=new Button("减");
Button bMul=new Button("乘以");
Button bPoint=new Button(".");
Button bDiv=new Button("除以");
Button bEqual=new Button("等于");
Button bSqrt=new Button("开方");
Button bPow=new Button("平方");
Button bBinary=new Button("二进制");
Button bOctal=new Button("八进制");
Button bHex=new Button("十六进制");
Button bNull=new Button("清除");
String str1="";
String str2="";
String operator=null;
boolean first=true;
int countOper=0;
double result=0.0;
double num1=0.0,num2=0.0;
boolean error=false;
public Counter()
{
super("计算器 河北工程科信学院 ");
t.setEditable(false);
for(int i=0;i<10;i++)
{
b[i]=new Button(String.valueOf(i));
p1.add(b[i]);
b[i].setActionCommand("number");
b[i].addActionListener(this);
}
p1.add(bPoint);
bPoint.setActionCommand("number");
p1.add(bAdd);
p1.add(bSub);
p1.add(bMul);
p1.add(bDiv);
p1.add(bEqual);
p2.add(bSqrt);
p2.add(bPow);
p2.add(bBinary);
p2.add(bOctal);
p2.add(bHex);
p2.add(bNull);
bAdd.setActionCommand("oper");
bSub.setActionCommand("oper");
bMul.setActionCommand("oper");
bDiv.setActionCommand("oper");

bAdd.addActionListener(this);
bSub.addActionListener(this);
bMul.addActionListener(this);
bDiv.addActionListener(this);
bPoint.addActionListener(this);
bEqual.addActionListener(this);
bSqrt.addActionListener(this);
bBinary.addActionListener(this);
bOctal.addActionListener(this);
bHex.addActionListener(this);
bNull.addActionListener(this);
p1.setLayout(new GridLayout(4,4,5,5));
p2.setLayout(new GridLayout(1,6,5,5));
add(t,"North");
add(p1,"Center");
add(p2,"South");
setLocation(600,300);
setSize(600,300);
setBackground(new Color(200,20,100));
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{
Button temp=(Button)e.getSource();
if(e.getActionCommand().equals("number"))
{
if(first)
{
str1=str1+temp.getLabel();
t.setText(str1);
}
else
{
str2=str2+temp.getLabel();
t.setText(str2);
}
}
else if(e.getActionCommand().equals("oper"))
{
if(str1=="")
{
countOper=0;
first=true;
}
else
{
countOper++;
if(countOper>1)
{
getResult();
}
operator=temp.getLabel();
first=false;
}
}
else if(e.getActionCommand().equals("开方"))
{
double d=Math.sqrt(Double.parseDouble(str1));
str1=String.valueOf(d);
t.setText(String.valueOf(d));
first=false;
}
else if(e.getActionCommand().equals("平方"))
{
double f=Math.pow(Double.parseDouble(str1),2);
str1=String.valueOf(f);
t.setText(String.valueOf(f));
first=false;
}
else if(e.getActionCommand().equals("二进制"))
{
int i=Integer.parseInt(str1);
String binStr=Long.toBinaryString(i);
str1=binStr;
t.setText(str1);
first=false;
}
else if(e.getActionCommand().equals("八进制"))
{
int i=Integer.parseInt(str1);
String octStr=Long.toOctalString(i);
str1=octStr;
t.setText(str1);
first=false;
}
else if(e.getActionCommand().equals("十六进制"))
{
int i=Integer.parseInt(str1);
String hexStr=Long.toHexString(i);
str1=hexStr;
t.setText(str1);
first=false;
}
else if(e.getActionCommand().equals("清除"))
{
str1="";//清空
str2="";
t.setText("");
countOper=0;
first=true;
error=false;
}
else if(e.getActionCommand().equals("等于"))
{
if((str1=="")||(str2==""))
{
countOper=0;
first=true;
}
else
{
getResult();
countOper=0;
}
}
}
public void getResult()
{
num1=Double.parseDouble(str1);
num2=Double.parseDouble(str2);
if(operator.equals("加"))
{
result=num1+num2;
}
else if(operator.equals("减"))
{
result=num1-num2;
}
else if(operator.equals("乘以"))
{
result=num1*num2;
}
else if(operator.equals("除以"))
{
if(num2==0.0)
{
error=true;
}
else
{
result=num1/num2;
}
}
if(error)
{
t.setText("error");
}
else
{
t.setText(String.valueOf(result));
str1=String.valueOf(result);
str2="";
}
}
public static void main(String[] args)
{
new Counter();
}
}

177

头像
猪猪爱次次
2022-10-09

哈哈,搞笑了肯定是我们系的~~~

171

头像
vincent'sir
2022-09-18

你所说的解释是指怎么样解释呢?
只给代要不要?
还有你这个计算器实现的功能有哪些?只是+ - * / 吗?以及你是嵌套在网页中使用还是直接在eclipse之类的程序下运行呢?
需要几个按钮? 想好了告诉我 半个小时给你做好 不过你得给20分吧 我本来也要的 都不先去复习就给你做

85

头像
眼角落下的泪
2022-02-03

javascript做的计算器要吗

169

相关问题

急求;VB程序设计,简单计算器,在线等
fionazhang77 1970-01-01

设计一个简单地计算器,可以进行加减乘除的运算 谢谢,如果正确了还可以追加分哦!

C语言程序设计 简单计算器(急急急!!!!)
起舞徘徊风露下 1970-01-01

在功能上尽量模拟windows操作系统中的计算器系统界面不做强制要求要在VC上运行的

java应用小程序计算器
非非1227 1970-01-01

是期末的课程设计阿!或是什么日历阿,画图程序等等一类都是可以的能较差就行啊

用Java设计一个简单的计算器。
chocolate宸 1970-01-01

设计一个简单的计算器,能够对两个数据进行“加、减、乘、除”运算。要求:合理应用布局设计,注重界面美观、友好,要求处理NumberFormatException异常。

急求java计算器 课程设计报告
MyronKiven 1970-01-01

急求java计算器 课程设计报告

用java程序编写一个计算器
小琳子雄霸天下 1970-01-01

用java程序编写一个计算器:有最小化,最大化及关闭按钮。有数字1到4.能实现基本加减乘除算法。

最新问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

热门问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

Coptyright © www.lw85.com电脑版