Java程序设计:计算器(一)

1.设计界面

Java程序设计:计算器(一)_第1张图片

2.设计思路

①设计出界面

②JTextField在定义的时候构造函数可以给一个String参数作为初始内容,比如

JTextField jf = new JTextField(“a”);

这样界面上的JTextField显现出来时一开始显示的内容就是a了

计算器中可以一开始显示0

③定义两个属性(最好是double型)dataA和dataB,dataA存储目前显示的数据,dataB显示后台数据。一开始两个属性默认值都是0,当按下一个数字键,就将dataA中的数据乘以10再加上按下的键的数据,比如按下5之后dataA变成0*10+5=5,再按下6之后变成5*10+6=56。同时,注意每按下一个键之后给dataA赋值之后要将dataA的数据显示在JTextField上,可以用jf.setText(dataA);来实现。可以定义一个方法

public void setdataA(double newdata){

         dataA= newdata;

         jf.setText(dataA);

}

这样每次给dataA赋值都会自动改变JTextField的内容

④定义一个isspot属性(boolean型),默认是false型,当按下”.”按钮后变成true;再定义一个属性dedigits(int型),从来存储小数位数,默认是0。当isspot为true时再按下一个数字键则将这个数字除以(dedigits+1)个10之后加到dataA上,再讲dedigits加1。当dedigits等于0的时候,也就是还没有小数位的时候,再按下”.”按钮,可以将isspot变成false。但dedigits大于0的时候,此时已经有小数位了,所以按下”.”不做任何操作,isspot也还是true。

⑤定义一个operation属性(int型),默认是0。当按下”+”键将其赋值为0,”-”键将其赋值为1,”×”键将其赋值为2,”÷”键将其赋值为3。同时,按下加减乘除任何键的时候,先将dataB与dataA作相应操作后将结果赋值给dataB,然后将dataA清零,isspot赋值false, dedigits赋值0。不理解的话可以看最后的流程。

⑥按下”C”的时候给dataA赋值0,按下”CE”的时候给dataA和dataB都赋值0

⑦按下等于号的时候先将dataB与dataA作相应操作后将结果赋值给dataA,operation赋值为0。再定义一个属性isequal(boolean型),默认为false,只有按下等于号后才变成true。当isequal为true时按下任何数字键都会执行一次按下”CE”的事件,然后将isequal变为false,之后再执行相应的事件,

 

3.流程示意

操作

JTextField

dataA

dataB

isspot

dedigits

operation

isequal

 

0

0

0

false

0

0

false

按下5

5

5

0

false

0

0

false

按下7

57

57

0

false

0

0

false

按下.

57

57

0

true

0

0

false

按下6

57.6

57.6

0

true

1

0

false

按下.

57.6

57.6

0

true

1

0

false

按下8

57.68

57.68

0

true

2

0

false

按下-

0

0

57.68

false

0

1

false

按下3

3

3

57.68

false

0

1

false

按下1

31

31

57.68

false

0

1

false

按下=

26.68

26.68

57.68

false

0

1

true

按下9

9

9

0

false

0

0

false

你可能感兴趣的:(Java程序设计,Java编程,郭天华原创)