简单计算机java程序,java简单界面计算机代码,只需要简单一次运算即可。

java简单界面计算机代码,只需要简单一次运算即可。

mip版  关注:233  答案:2  悬赏:80

解决时间 2021-01-23 09:52

c39da541dcb0f766e1da9baa6348940d.png

已解决

2021-01-22 13:39

java简单界面计算机代码,只需要简单一次运算即可。

最佳答案

15a333afb4e082f83b23a2bad5c85910.png

2021-01-22 13:53

是计算器代码吗?我可以,私我。

全部回答

dd8c01200ec3f9c45841978ee4ee3b9b.png

1楼

2021-01-22 14:35

calculator.java

public class calculator{

private string result = "0";

private int op = 0,add = 1,sub = 2,mul = 3,div = 4;

private double stringtodouble(string x){

double y = double.parsedouble(x);

return y;

}

private void operate(string x){

double x1 = stringtodouble(x);

double y = stringtodouble(result);

switch (op){

case 0:

result = x;

break;

case 1:

result = string.valueof(y+x1);

break;

case 2:

result = string.valueof(y-x1);

break;

case 3:

result = string.valueof(y*x1);

break;

case 4:

if(x1!=0){

result = string.valueof(y/x1);

}else{

result = "the divisor can't be zero!";

}

break;

}

}

public string opadd(string x){

operate(x);

op = add;

return result;

}

public string opsubtract(string x){

operate(x);

op = sub;

return result;

}

public string opmultiply(string x){

operate(x);

op = mul;

return result;

}

public string opdivide(string x){

operate(x);

op = div;

return result;

}

public string opequals(string x){

operate(x);

op = 0;

return result;

}

public void opclean(){

op = 0;

result = "0";

}

}第二个

calculatorgui.java

import java.awt.*;

import java.awt.event.*;

import java.util.eventobject;

public class calculatorgui{

private frame f;

private panel p1,p2;

private button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;

private button bpoint,badd,bdec,bmul,bdiv,bcal;

private textfield tf;

private string s,op;

private calculator cal = new calculator();

private boolean ifop;

public calculatorgui(){

f = new frame("calculator");

p1 = new panel();

p2 = new panel();

b0 = new button("0");

b1 = new button("1");

b2 = new button("2");

b3 = new button("3");

b4 = new button("4");

b5 = new button("5");

b6 = new button("6");

b7 = new button("7");

b8 = new button("8");

b9 = new button("9");

bpoint = new button(".");

badd = new button("+");

bdec = new button("-");

bmul = new button("*");

bdiv = new button("/");

bcal = new button("=");

tf = new textfield(25);

tf.seteditable(false);

}

public void launchframe(){

f.setsize(220,160);

f.setresizable(false);

f.addwindowlistener(new mywindowlistener());

p1.setlayout(new flowlayout(flowlayout.center));

p1.add(tf);

f.add(p1,borderlayout.north);

p2.setlayout(new gridlayout(4,4));

b0.addactionlistener(new setlabeltext_actionlistener());

b1.addactionlistener(new setlabeltext_actionlistener());

b2.addactionlistener(new setlabeltext_actionlistener());

b3.addactionlistener(new setlabeltext_actionlistener());

b4.addactionlistener(new setlabeltext_actionlistener());

b5.addactionlistener(new setlabeltext_actionlistener());

b6.addactionlistener(new setlabeltext_actionlistener());

b7.addactionlistener(new setlabeltext_actionlistener());

b8.addactionlistener(new setlabeltext_actionlistener());

b9.addactionlistener(new setlabeltext_actionlistener());

bpoint.addactionlistener(new setlabeltext_actionlistener());

badd.addactionlistener(new setoperator_actionlistener());

bdec.addactionlistener(new setoperator_actionlistener());

bmul.addactionlistener(new setoperator_actionlistener());

bdiv.addactionlistener(new setoperator_actionlistener());

bcal.addactionlistener(new setoperator_actionlistener());

p2.add(b7);

p2.add(b8);

p2.add(b9);

p2.add(badd);

p2.add(b4);

p2.add(b5);

p2.add(b6);

p2.add(bdec);

p2.add(b1);

p2.add(b2);

p2.add(b3);

p2.add(bmul);

p2.add(b0);

p2.add(bpoint);

p2.add(bcal);

p2.add(bdiv);

f.add(p2,borderlayout.south);

f.setvisible(true);

}

public void settextfieldtext_temp(){

if (tf.gettext().length()<15 && (tf.gettext().indexof(".")==-1 || !s.equals("."))){

tf.settext(tf.gettext()+s);

}else{

tf.settext((tf.gettext()+s).substring(0,15));

}

}

public void settextfieldtext(){

if(ifop){

ifop = false;

tf.settext("");

settextfieldtext_temp();

}else{

settextfieldtext_temp();

}

}

public static void main(string[] args){

calculatorgui calculator = new calculatorgui();

calculator.launchframe();

}

class mywindowlistener extends windowadapter{

public void windowclosing(windowevent e){

system.exit(0);

}

}

class setlabeltext_actionlistener implements actionlistener{

public void actionperformed(actionevent e){

button tempb = (button)e.getsource();

s = tempb.getlabel();

settextfieldtext();

}

}

class setoperator_actionlistener implements actionlistener{

public void actionperformed(actionevent e){

button tempb = (button)e.getsource();

op = tempb.getlabel();

if(op.equals("+")){

tf.settext(cal.opadd(tf.gettext()));

ifop = true;

}else if(op.equals("-")){

tf.settext(cal.opsubtract(tf.gettext()));

ifop = true;

}else if(op.equals("*")){

tf.settext(cal.opmultiply(tf.gettext()));

ifop = true;

}else if(op.equals("/")){

tf.settext(cal.opdivide(tf.gettext()));

ifop = true;

}else if(op.equals("=")){

tf.settext(cal.opequals(tf.gettext()));

ifop = true;

}

}

}

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值