文档视界 最新最全的文档下载
当前位置:文档视界 › java计算器程序设计报告

java计算器程序设计报告

java计算器程序设计报告
java计算器程序设计报告

JAVA课程设计之计算器设计报告含源代码|计算机数据库课程设计|精品课程网站设计|课程设计网报告总结心得本计算器可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格, clear表示初始化,在window下直接运行()即可,界面为灰白对称。

题目:计算器

目录

1.摘要

2.概要设计

3.详细设计

4.测试分析

5.参考文献

一、摘要

本计算器可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格, clear表示初始化,在window下直接运行()即可,界面为灰白对称。

二、概要设计

(1)自定义类说明

**********************************************************

* 类名: This_number_too_big *

* 作用: 自定义的异常类,用来处理计算结果溢出 *

* 继承的父类: Exception类 *

* 实现的接口: 没有 *

**********************************************************

class This_number_too_big extends Exception

{

}ength();harAt(0)=='0'&& ().length()==1)

;

import

class This_number_too_big extends Exception

{};

static Button btequ=new Button(=);

static Button btadd=new Button(+);

static Button btsub=new Button(-);

static Button btmul=new Button(*);

static Button btdev=new Button(\/);

static Button btA=new Button(A);

static Button btB=new Button(B);

static Button btC=new Button(C);

static Button btD=new Button(D);

static Button btE=new Button(E);

static Button btF=new Button(F);

); 八进制瑳瑡捩?敨正潢?正?渽睥?敨正潢? 瑳瑡捩?敨正潢?正??敮?桃捥扫硯尨十进制); 瑳瑡捩?敨正潢?正??敮?桃捥扫硯尨十六进制); static Button btc=new Button(clear); static Button btt=new Button(ackspace); public int number=0,length=18;

.);

;

;

;

(new Font(Serief,,18));

(14,33,216,40);

(lab);

CheckboxGroup grp=new CheckboxGroup(); (grp);

(grp);

(grp);

(14,75,55,25);

(69,75,55,25);

(124,75,65,25);

(false);

(true);

(false);

(ckb8);

(ckb10);

(ckb16);

(14,140,120,150);

(144,140,40,150);

(14,100,170,36);

(190,100,40,190);

(bt7);

(bt8);

(bt9);

(bt4);

(bt5);

(bt6);

(bt1);

(bt2);

(bt3);

(bt0);

(btdot);

(btequ);

(btadd);

(btsub);

(btmul);

(btdev);

(btt);

(btc);

(btA);

(btB);

(btC);

(btD);

(btE);

(btF);

(false);

(false);

(false);

(false);

(false);

(false);

(pnl1);

(pnl2);

(pnl3);

(pnl4);

(false);

(null);

(240,300 );

尨计算器);

(true);

(mainFrame);

(mainFrame);

(mainFrame);

ength();

}

if(length==14) { (goto_10(),16L));

(goto10_8()));

number=().length();

}

ength();}

if(length==14) { (goto_10(),16L));

number=().length();}

ength();}

if(length==19) { (goto_10(),8L));

(goto10_16()));

number=().length();}

harAt(0);

switch (ch)

{ case 'c': {(number=0; mark='n'; Refresh=false;}break;harAt(0)=='0'&&

().length()==1)

break;

if(number{number++;()+ch);} else break;

} break;

case 'A': enter(); break;

case 'B': enter(); break;

case 'C': enter(); break;

case 'D': enter(); break;

case 'E': enter(); break;

case 'F': enter(); break;

case '.': {if(Refresh==true) {(

if().indexOf('.')== -1)

{number++;()+ch);}

else

break;

}

break;

case 'b': {if(number==0) break;

else

{if(--number==0) {(

else

{if (number!=1) ().substring(0,number));

else

().charAt(0)));}

}

}break;

case '+': try

{ js();}

catch(This_number_too_big e)

{(

Refresh=false; The number is too big);} break; != -1));

lg=(str);!= -1));

lg=(str);

while (lg>=j)

{ ch=lg%j;

st=(ch)+st;

lg=lg/j;

}

st=(lg)+st;

return st;

}harAt(0)=='0'&& ().length()==1)

ength();ength();

}//end answer() method

//---------------------------

}//end class Jsp2003

4.测试分析

(1)程序运行情况:

程序正常的响应按钮事件,输入的数值长度受变量length的限定,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果结果很大,就可能采用科学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的E ,当结果太大的时候,有可能超出可能表示

的最大值,(结果溢出),这个时候就要对结果进行必要的异常处理,我在输出结果的方法内设置

if 语句,如果结果大于某一个值就抛出一个This_number_too_big 类型的类,再使用try-catch,捕捉输出结果的方法抛出的异常对象。然后进行,重制归零的处理。

(2)程序异常处理:

当结果超出时,将抛出一个This_number_too_big 类的异常对象,这个是我自定义的一个异常

类它继承自Exception 类,然后使用try-catch去捕捉这个异常,异常的处理如下:

try

{ js();}

catch(This_number_too_big e)

{

(

number=0;

mark='n';

Refresh=false;

The number is too big);

} //如果出现异常则初始化效果如同clear键

相关文档