用java编写一个简易的计算器代码.docx
- 文档编号:511991
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:9
- 大小:16.11KB
用java编写一个简易的计算器代码.docx
《用java编写一个简易的计算器代码.docx》由会员分享,可在线阅读,更多相关《用java编写一个简易的计算器代码.docx(9页珍藏版)》请在冰豆网上搜索。
用java编写一个简易的计算器代码
用java编写一个简易的
计算器代码
JennywascompiledinJanuary2021
/*使用java语言开发一个简易计算器
*
*
*/
publicclassTestJsqextendsJFrameimplementsActionListener,KeyListener{
privateJTextFieldjtf;
privateJButtonjb_bk,jb_ce,jb_c;
privateStringxs=z,/,;
privatedoub1esum=0;
privateintfh;
publicstaticvoidmain(String一args){
newTestJsq()・creatCUI();
}
publicvoidcreatCUI(){
JFramejf=newJFrame();
jf.setTitle(,z计算器");
jtf二newJTextField("O.”);
jtf・setHorizontalAlignment(JTextField・RIGHT);
jf.add(jtf,BorderLayout・NORTH);
JPane1jp_main^newJPane1(newBorderLayout());
jf.add(jp_main);
JPaneljpl^newJPanel(newGridLayout(l,3,1,1));
jb_bk二newJButton("Backspace");
jb_bk・setForeground(Color・RED);
jb_bk・addActionListener(this);
jb_ce二newJButton(〃CE");
jb_ce・setForeground(Color・RED);
jb_ce・addActionListener(this);
jb_c二newJButton("C");
jb_c・setForeground(Color・RED);
jb_c・addActionListener(this);
jpl.add(jb_bk);
jpl・add(jb_ce);
jpl.add(jb_c);
jp_main.add(jpl,BorderLayout・NORTH);
JPane1jp2=newJPane1(newGridLayout(4,5,1,1));
Stringstr[]二{〃7〃,〃8〃,〃9〃,”I”、〃sqrt〃,‘'4〃,〃5〃,〃6〃,〃*〃,
丫,〃2〃,〃3〃,〃l/x〃,〃0〃,…,〃+〃,〃=〃};
for(inti=0;i<20;i++){
JButtonjb二newJButton(st:
r[i]);
jb.addActionListener(this);
jb・setForeground(Color・blue);
if(i==3IIi==8i==13i=181|i==19){
jb・setForeground(Color・RED);
}
jp2・add(jb);
jp_main.add(jp2,BorderLayout・CENTER);
jf・setResizable(false);
jf.setBounds(50,50,350,350);
jf・setVisible(true);
}
©Override
pub1icvoidactionPerformed(ActionEvente){
Strings二e・getActionCommand();
if(s.equals("CE")|s.equals("C")){
〃/z
XS二;
jtf.setText("0.");
}elseif(s.equals("Backspace")){
Stringstr^xs・subst:
ring(0,xs.length()一1);
xs二str;
jtf.setText(xs);
}else辻(s.equals("7")s.equals("8")|s.equals("9")
|s.equals(,,4,?
)||s.equals("5")|,s.equals("6")
|s.equals("1")||s.equals("2")||s.equals("3")
is.equals("0")|;s.equals(".")){
xs二xs+s;
jtf.setText(xs);
}elseif(s.equals("+/-")){
doub1ex=Doub1e・parseDouble(xs);
xs二〃"+(-x);jtf.setText(xs);
}elseif(s.equals("/")){
fh=4;
intpoint^xs・indexOf(〃・“);
if(point!
=-l){
Stringstrt二xs.substring(0,point);
Stringz=xs・substring(point+1,xs.length());
intz_num二z・length();
sum二Integer・decode(strt)+(double)(Integer・decode(z))/(10*z_num);
}else{
sum二Integer・decode(xs);
}
〃〃
XS二;
jtf・setText(null);
}elseif(s.equals("*")){
fh=3;
intpoint二xs・indexOf(〃・“);
if(point!
=~1){
Stringstrt二xs.substring(0,point);
Stringz=xs・substring(point+1,xs.length());
intz_num二z・length。
;
sum二Integer・decode(strt)+(double)(Integer・decode(z))
}else{
sum二Integer・decode(xs);
}
〃〃
XS二;
jtf.setText(null);
}elseif(s.equals("-")){
fh=2;
intpoint二xs・indexOf(〃・”);
if(point!
=-l){
Stringstrt二xs.substring(0,point);
Stringz=xs・substring(point+1,xs.length());
intz_num二z・length。
;
sum二Integer・decode(strt)+(double)(Integer・decode(z))/(10*z_num);
}else{
sum二Integer・decode(xs);
}
〃〃
XS二;
jtf.setText(null);
}elseif(s.equals("+")){
fh=l;
intpoint二xs・indexOf(〃・”);
if(point!
=-l){
Stringstrt^xs・substring(0,point);
Stringz=xs・substring(point+1,xs.length());
intz_num二z・length。
;
sum二Integer・decode(strt)+(double)(Integer・decode(z))
/(10*z_num);
}else{
sum二Integer・decode(xs);
}
〃〃
XS二;
jtf・setText(null);
}elseif(s.equals(〃sqrt〃)){
doub1ex=Doub1e・parseDouble(xs);
doublexl=Math・sqrt(x);
xs二xl+;
jtf.setText(xs);
}elseif(s.equals("%")){
doub1ex=Doub1e・parseDouble(xs);
x=0.01*x*x;
〃〃
xs二x+;
jtf.setText(xs);
}elseif(s.equals("1/x")){
if(xs二二〃0〃){
jtf.setText("除数不能为0〃);
}else{
doub1ex=Doub1e・parseDouble(xs);
doublexl=l/x;
、i〃〃
xs二xl+;
jtf・setText(String・valueOf(xs));
}
}elseif(s.equals("二")){
if(fh!
=O){
switch(fh){
easel:
intpointl^xs・indexOf(〃・“);
if(pointl!
=T){
Strings!
.二xs・substring(0,pointl);
Stringzl二xs・substring(point1+1,xs・length());
intzl_nuni二zl・length();
〃〃
xs二;
doublessl二Integer・decode(si)
+(double)Integer・decode(zl)/(10*zl_num);
sum二sum+ssl;
}else{
sum=sum+Integer・decode(xs);
〃〃
XS二;
}
fh=O;
break;
case2:
intpoint2=:
xs・indexOf("・“);
if(point2!
二T){
Strings2z:
xs・substring(0,point2);
Stringz2z:
xs・substring(point2+1,xs・length());intz2_n\im-z2・length();
〃〃xs二;doubless2二Integer・decode(s2)
+(double)Integer・decode(z2)/(10*z2_num);
sum二sum-ss2;
}else{
sum二sum-integer・decode(xs);
〃〃
xs二;
}
fh=0;
break;
case3:
intpoint3二xs・indexOf(〃・“);
if(point3!
=~1){
Strings3=xs・substring(0,point3);
St:
ringz3二xs・substring(point3+1,xs・length());intzl—iiunFzS・length();
〃/z
XS=;
doubles4=Integer・decode(s3)
+(double)Integer・decode(z3)/(10*zl_num);
sum二sum*s4;
}else{
sum=sum*Integer・decode(xs);
〃〃
xs二;
}
fh=0;
break;
case4:
intpoint4二xs・indexOf(〃・“);
if(point4!
=~1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编写 一个 简易 计算器 代码