服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

简易计算器


  /*本程序是用awt组件实现的*/
import java.awt.*;
import java.awt.event.*;
import java.applet.applet;

public class jsq extends applet implements actionlistener
{
int flag=0;
double x;
string s=new string("");
panel p1,p2,p3;
label label;
textfield text1;
button bclear,bpoint,beq,badd,bsbb,bmult,bdiv;
button[] b=new button[10];
public void init()
{
p1=new panel();p2=new panel();p3=new panel();
setlayout(new flowlayout());
p1.setlayout(new flowlayout());
p2.setlayout(new gridlayout(4,3));
p3.setlayout(new gridlayout(4,1));
label=new label("简易计算器");
text1=new textfield(12);
bclear=new button("clear");
add(label);

//把文本框和清空按钮加在第一个板上
p1.add(text1);p1.add(bclear);
bclear.addactionlistener(this);

for(int i=0;i<10;i++)
{
b[i]=new button(integer.tostring(i));
}

bpoint=new button(".");
beq=new button("=");

//把所有数字按钮和"."及"="加在第二个板上
for(int i=0;i<10;i++)
{
p2.add(b[i]);
b[i].addactionlistener(this);
}
p2.add(bpoint);p2.add(beq);
bpoint.addactionlistener(this);
beq.addactionlistener(this);

//把运算符号按钮加在第三个板上
badd=new button("+");
bsbb=new button("-");
bmult=new button("*");
bdiv=new button("/");
p3.add(badd);
p3.add(bsbb);
p3.add(bmult);
p3.add(bdiv);

badd.addactionlistener(this);
bsbb.addactionlistener(this);
bmult.addactionlistener(this);
bdiv.addactionlistener(this);

add(p1);add(p2);add(p3);add(new label(" "));

}
public void actionperformed(actionevent e)
{

for(int i=0;i<10;i++){
if(e.getsource()==b[i]||e.getsource()==bpoint){
s=s+e.getactioncommand();
text1.settext(s);
break;
}

}

//判断运算符号,并作上标记
if(e.getsource()==badd){
x=double.parsedouble(s);
flag=1;
text1.settext("");
s="";
}
if(e.getsource()==bsbb){
x=double.parsedouble(s);
flag=2;
text1.settext("");
s="";
}
if(e.getsource()==bmult){
x=double.parsedouble(s);
flag=3;
text1.settext("");
s="";
}
if(e.getsource()==bdiv){
x=double.parsedouble(s);
flag=4;
text1.settext("");
s="";
}

//清空并标志为0
if(e.getsource()==bclear){
text1.settext("");
s="";
flag=0;
}

//运算
if(e.getsource()==beq){
switch(flag){
case 1:
{
x=double.parsedouble(s)+x;
string s=string.valueof(x);
text1.settext(s);break;
}

case 2:
{
x=x-double.parsedouble(s);
string s=string.valueof(x);
text1.settext(s);break;
}
case 3:
{
x=double.parsedouble(s)*x;
string s=string.valueof(x);
text1.settext(s);break;
}
case 4:
{
if(double.parsedouble(s)==0){text1.settext("除数不能为0!");break;}
x=x/double.parsedouble(s);
string s=string.valueof(x);
text1.settext(s);break;
}
}
}
}
}

扫描关注微信公众号