Java课程设计报告 计算器

时间:2024.5.15

Java课程设计报告

题 目: 计算器

院(系):xxx学院

年级专业: xxx班

学生姓名: xxx

指导老师: xx老师

开始时间: 200x-xx-xx

完成时间: 200x-xx-xx

目 录

1. 摘 要

2. 概要设计

3. 详细设计

4. 测试分析

5. 参考文献

一、摘 要

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

二、概要设计

(1) 自定义类说明

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

* 类名: This_number_too_big *

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

* 继承的父类: Exception类 *

* 实现的接口: 没有 *

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

class This_number_too_big extends Exception

{

}//自定义的一个结果溢出异常类

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

* 类名: Jsp2003 *

* 作用: 主类。 *

* 继承的父类: Frame类 *

* 实现的接口: ItemListener类,ActionListener类 *

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

class Jsp2003 extends Frame implements ItemListener,ActionListener {

public int number=0,length=18;

//number是用来记录输入的数字个数,

//length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制 public char mark='n';

//设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’

public double data=0;

//设置运算数据为零

public char ch;

//用来临时存放所按按钮的第一个字符

public boolean Refresh=false;

//设置lab是否要在输入数据的时候刷新,初始为否

主要方法说明:

------------------------------------------------------------------------------------------------ //用来处理按了运算符后的计算-

public void js() throws This_number_too_big //指定由method抛出异常 {if (mark=='n') //没有运算符

{mark=ch; //,则设置运算符为刚刚输入的字符,

data=Double.parseDouble(lab.getText());//则设置运算数据为lab的值 Refresh=true;//则设置下一次输入的时候要刷新lab

}

else //如果采用的是连续运算(即没有使用‘=’号)则运行下面的语句 {switch (mark) //根据运算符计算结果,并把结果保存到data

{ case '+': data+=Double.parseDouble(lab.getText()); break;

case '-': data-=Double.parseDouble(lab.getText()); break;

case '*': data*=Double.parseDouble(lab.getText()); break;

case '/': data/=Double.parseDouble(lab.getText()); break;}

lab.setText(Double.toString(data)); //显示运算结果

mark=ch;//设置运算符为刚刚按下的运算符

Refresh=true;//则设置下一次输入的时候要刷新lab

number=lab.getText().length();//设置输入的字符个数

// System.out.println(lab.getText());//用来调试用的

if (data>Double.MAX_VALUE)

//如果data超过double类型的最大值则抛出自定义的一个异常类

{throw new This_number_too_big(); }

}

}//end js() method

---------------------------------------------------------------------------------------------------- public void enter()//处理输入字符

{if(Refresh==true)

//如果已经设置了 运算符则在下一次输入数据的时候要把以前lab的内容清除掉 {lab.setText("0"); number=0; Refresh=false;}

if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)

//如果lab的内容为0则,lab的内容将被所输入的字符代替,

//否则直接在lab的内容后面加上所输入的字符

{lab.setText(Character.toString(ch)); number++;}

else

if(number<length)

{number++;lab.setText(lab.getText()+ch);}

}//end enter() method

-------------------------------------------------------------------------------------------------------- //八进制或十六进制转换成十进制I

public String goto_10(String s,long l)

//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性;

//参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16; { String str=s; //用来转换的字符串

long j=l; //表示进制

long lg=0,jing=1;//lg用来记录权乘和,jing用来记录位权

char cha;//临时记录要转换的字符

for(int i=1;i<=str.length();i++)

{ cha=str.charAt(str.length()-i);

switch(cha)

{ case '1': lg=lg+1*jing;break;

case '2': lg=lg+2*jing;break;

case '3': lg=lg+3*jing;break;

case '4': lg=lg+4*jing;break;

case '5': lg=lg+5*jing;break;

case '6': lg=lg+6*jing;break;

case '7': lg=lg+7*jing;break;

case '8': lg=lg+8*jing;break;

case '9': lg=lg+9*jing;break;

case 'A': lg=lg+10*jing;break;

case 'B': lg=lg+11*jing;break;

case 'C': lg=lg+12*jing;break;

case 'D': lg=lg+13*jing;break;

case 'E': lg=lg+14*jing;break;

case 'F': lg=lg+15*jing;break;}

jing*=j; //位权升一级,为下次使用做好准备

}

return Long.toString(lg);

}//end String goto_10() method

}

(2)程序流程图

三、详细设计

import java.awt.*;

import java.awt.event.*;

class This_number_too_big extends Exception

{}//自定义的一个结果溢出异常类

class Jsp2003 extends Frame implements ItemListener,ActionListener { public Jsp2003() {

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

System.exit(0);

}

});

}

static Jsp2003 mainFrame = new Jsp2003();

static Label lab=new Label("0");

static Panel pnl1=new Panel(new GridLayout(4,3,3,3));

static Panel pnl2=new Panel(new GridLayout(4,1,3,3));

static Panel pnl3=new Panel(new GridLayout(1,2,3,3));

static Panel pnl4=new Panel(new GridLayout(6,1,3,3));

static Button bt9=new Button("9");

static Button bt8=new Button("8");

static Button bt7=new Button("7");

static Button bt6=new Button("6");

static Button bt5=new Button("5");

static Button bt4=new Button("4");

static Button bt3=new Button("3");

static Button bt2=new Button("2");

static Button bt1=new Button("1");

static Button bt0=new Button("0");

static Button btdot=new Button(".");

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 Checkbox ckb8=new Checkbox("八进制");

static Checkbox ckb10=new Checkbox("十进制");

static Checkbox ckb16=new Checkbox("十六进制");

static Button btc=new Button("clear");

static Button btt=new Button("backspace");

public int number=0,length=18;

//number是用来记录输入的数字个数,length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制

public char mark='n'; //设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’ public double data=0; //设置运算数据为零

public char ch; //用来临时存放所按按钮的第一个字符

public boolean Refresh=false;//设置lab是否要在输入数据的时候刷新,初始为否 public static void main(String args[]) {

System.out.println("Starting Jsp2003...");

lab.setAlignment(Label.RIGHT);

lab.setBackground(Color.lightGray);

lab.setForeground(Color.BLUE);

lab.setFont(new Font("Serief",Font.BOLD,18));

lab.setBounds(14,33,216,40);

mainFrame.add(lab);

CheckboxGroup grp=new CheckboxGroup(); ckb8.setCheckboxGroup(grp);

ckb10.setCheckboxGroup(grp);

ckb16.setCheckboxGroup(grp);

ckb8.setBounds(14,75,55,25);

ckb10.setBounds(69,75,55,25);

ckb16.setBounds(124,75,65,25);

ckb8.setState(false);

ckb10.setState(true);

ckb16.setState(false);

mainFrame.add(ckb8);

mainFrame.add(ckb10);

mainFrame.add(ckb16);

pnl1.setBounds(14,140,120,150);

pnl2.setBounds(144,140,40,150);

pnl3.setBounds(14,100,170,36);

pnl4.setBounds(190,100,40,190);

pnl1.add(bt7);

pnl1.add(bt8);

pnl1.add(bt9);

pnl1.add(bt4);

pnl1.add(bt5);

pnl1.add(bt6);

pnl1.add(bt1);

pnl1.add(bt2);

pnl1.add(bt3);

pnl1.add(bt0);

pnl1.add(btdot);

pnl1.add(btequ);

pnl2.add(btadd);

pnl2.add(btsub);

pnl2.add(btmul);

pnl2.add(btdev);

pnl3.add(btt);

pnl3.add(btc);

pnl4.add(btA);

pnl4.add(btB);

pnl4.add(btC);

pnl4.add(btD);

pnl4.add(btE);

pnl4.add(btF);

btA.enable(false);

btB.enable(false);

btC.enable(false);

btD.enable(false);

btE.enable(false);

btF.enable(false);

mainFrame.add(pnl1);

mainFrame.add(pnl2);

mainFrame.add(pnl3);

mainFrame.add(pnl4);

mainFrame.setResizable(false); mainFrame.setLayout(null); mainFrame.setSize(240,300 ); mainFrame.setTitle("计算器"); mainFrame.setVisible(true);

ckb8.addItemListener(mainFrame); ckb10.addItemListener(mainFrame);

ckb16.addItemListener(mainFrame); //把事件聆听者向各个组键注册

bt1.addActionListener(mainFrame); bt2.addActionListener(mainFrame); bt3.addActionListener(mainFrame); bt4.addActionListener(mainFrame); bt5.addActionListener(mainFrame); bt6.addActionListener(mainFrame); bt7.addActionListener(mainFrame); bt8.addActionListener(mainFrame); bt9.addActionListener(mainFrame); bt0.addActionListener(mainFrame); btadd.addActionListener(mainFrame); btsub.addActionListener(mainFrame); btmul.addActionListener(mainFrame); btdev.addActionListener(mainFrame); btt.addActionListener(mainFrame); btc.addActionListener(mainFrame); btdot.addActionListener(mainFrame); btequ.addActionListener(mainFrame); btA.addActionListener(mainFrame); btB.addActionListener(mainFrame); btC.addActionListener(mainFrame); btD.addActionListener(mainFrame); btE.addActionListener(mainFrame); btF.addActionListener(mainFrame); }// end main() mothed

//--------------------------------------------- //checkbox 事件的处理

public void itemStateChanged(ItemEvent e)

{ mark='n';

Refresh=false;

//规定当进制转换时以前输入的运算符失效

if (ckb8.getState()==true)

{ btA.enable(false);

btB.enable(false);

btC.enable(false);

btD.enable(false);

btE.enable(false);

btF.enable(false);

bt9.enable(false);

bt8.enable(false);

btdot.enable(false);

btadd.enable(false);

btmul.enable(false);

btsub.enable(false);

btdev.enable(false);

btequ.enable(false);

//在八进制的情况下对有些按件的管理

if(length==18) { lab.setText(goto10_8(lab.getText())); number=lab.getText().length();

}

if(length==14) { lab.setText(goto_10(lab.getText(),16L)); lab.setText(goto10_8(lab.getText()));

number=lab.getText().length();

}

//将其他进制转换成八进制

length=19;

//在八进制下允许输入数字个数最多为19位

}

if(ckb10.getState()==true)

{ btA.enable(false);

btB.enable(false);

btC.enable(false);

btD.enable(false);

btE.enable(false);

btF.enable(false);

bt9.enable(true);

bt8.enable(true);

btdot.enable(true);

btadd.enable(true);

btmul.enable(true);

btsub.enable(true);

btdev.enable(true);

btequ.enable(true);

//在十进制的情况下对有些按件的管理

if(length==19) { lab.setText(goto_10(lab.getText(),8L)); number=lab.getText().length();}

if(length==14) { lab.setText(goto_10(lab.getText(),16L)); number=lab.getText().length();}

//进制转换成十进制

length=18;

//在十进制下允许输入数字个数最多为18位

}

if(ckb16.getState()==true)

{ btA.enable(true);

btB.enable(true);

btC.enable(true);

btD.enable(true);

btE.enable(true);

btF.enable(true);

bt9.enable(true);

bt8.enable(true);

btdot.enable(false);

btadd.enable(false);

btmul.enable(false);

btsub.enable(false);

btdev.enable(false);

btequ.enable(false);

//在十六进制的情况下对有些按件的管理

if(length==18) { lab.setText(goto10_16(lab.getText()));

number=lab.getText().length();}

if(length==19) { lab.setText(goto_10(lab.getText(),8L));

lab.setText(goto10_16(lab.getText()));

number=lab.getText().length();}

//将其他进制转换成十六进制

length=14;

//在十六进制下允许输入数字个数最多为14位

}

}//end itemStateChanged(ItemEvent e) method

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

//按钮事件的处理

public void actionPerformed(ActionEvent m)

{

Button btn=(Button) m.getSource();

ch=btn.getLabel().charAt(0);

switch (ch)

{ case 'c': {lab.setText("0"); number=0; mark='n'; Refresh=false;}break;//初始化 case '1': enter(); break;

case '2': enter(); break;

case '3': enter(); break;

case '4': enter(); break;

case '5': enter(); break;

case '6': enter(); break;

case '7': enter(); break;

case '8': enter(); break;

case '9': enter(); break;

case '0': {if(Refresh==true) { lab.setText("0"); number=0; Refresh=false; } if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)

break;

if(number<length)

{number++;lab.setText(lab.getText()+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) {lab.setText("0"); number=0; Refresh=false;} if(lab.getText().indexOf('.')== -1)

{number++;lab.setText(lab.getText()+ch);}

else

break;

}

break;

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

else

{if(--number==0) {lab.setText("0"); number=0;}

else

{if (number!=1) lab.setText(lab.getText().substring(0,number)); else

lab.setText(Character.toString(lab.getText().charAt(0)));}

}

}break;

case '+': try

{ js();}

catch(This_number_too_big e)

{lab.setText("0"); number=0; mark='n';

Refresh=false; System.out.println("The number is too big");} break; //如果出现异常则初始化效果如同clear键

case '-': try

{ js();}

catch(This_number_too_big e)

{lab.setText("0"); number=0; mark='n';

Refresh=false; System.out.println("The number is too big");} break; //如果出现异常则初始化效果如同clear键

case '*': try

{ js();}

catch(This_number_too_big e)

{lab.setText("0"); number=0; mark='n';

Refresh=false; System.out.println("The number is too big");} break; //如果出现异常则初始化效果如同clear键

case '/': try

{ js();}

catch(This_number_too_big e)

{lab.setText("0"); number=0; mark='n';

Refresh=false; System.out.println("The number is too big");} break; //如果出现异常则初始化效果如同clear键

case '=': try

{ js();}

catch(This_number_too_big e)

{lab.setText("0"); number=0; mark='n';

Refresh=false; System.out.println("The number is too big");} break;

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

}

}//end actionPerformed(ActionEvent e) method

//八进制或十六进制转换成十进制I

//-------------------------------------Infinity

public String goto_10(String s,long l)

//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; //参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16; {

String str=s; //用来转换的字符串

long j=l; //表示进制

long lg=0,jing=1;//lg用来记录权乘和,jing用来记录位权

char cha;//临时记录要转换的字符

for(int i=1;i<=str.length();i++)

{

cha=str.charAt(str.length()-i);

switch(cha)

{

case '1': lg=lg+1*jing;break;

case '2': lg=lg+2*jing;break;

case '3': lg=lg+3*jing;break;

case '4': lg=lg+4*jing;break;

case '5': lg=lg+5*jing;break;

case '6': lg=lg+6*jing;break;

case '7': lg=lg+7*jing;break;

case '8': lg=lg+8*jing;break;

case '9': lg=lg+9*jing;break;

case 'A': lg=lg+10*jing;break;

case 'B': lg=lg+11*jing;break;

case 'C': lg=lg+12*jing;break;

case 'D': lg=lg+13*jing;break;

case 'E': lg=lg+14*jing;break;

case 'F': lg=lg+15*jing;break;}

jing*=j; //位权升一级,为下次使用做好准备

}

return Long.toString(lg);

}//end String goto_10() method

//十进制转换成十六进制

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

public String goto10_16(String s)

//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; { String str=s; //用来转换的字符串

String st=new String();//用来记录16进制值的字符串

long ch; //每次取余有的值

int k; //将每次取余有的值转换成整形,用来选择转换的16进制字符 long lg;//用来转换的10进制数

if(str.charAt(0)=='-') //如果有负号则出去负号

str=str.substring(1,str.length()-1);

if(str.indexOf('E')!= -1)//如果是科学计数值则出去小数点和E后面的数 str=str.charAt(0)+str.substring(2,str.indexOf('E'));

if (str.indexOf('.')!= -1)//如果有小数点则出去小数点及小数点后面的内容 str=str.substring(0,str.indexOf('.'));

lg=Long.parseLong(str);//将简化的字符串转化为长整形给lg

while (lg>=16)

{ ch=lg%16;

k=(int)ch;

switch (k)

{case 10: st="A"+st;break;

case 11: st="B"+st;break;

case 12: st="C"+st;break;

case 13: st="D"+st;break;

case 14: st="E"+st;break;

case 15: st="F"+st;break;

default: st=Long.toString(ch)+st;

}

lg=lg/16;

}

k=(int)lg;

switch (k)

{case 10: st="A"+st;break;

case 11: st="B"+st;break;

case 12: st="C"+st;break;

case 13: st="D"+st;break;

case 14: st="E"+st;break;

case 15: st="F"+st;break;

default: st=Long.toString(lg)+st;

}

return st;

}//end goto10_16() method

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

//十进制转换成八进制?

public String goto10_8(String s)

//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; { String str=s;

String st=new String();

long j=8,ch;

long lg;

if(str.charAt(0)=='-') //如果有负号则出去负号

str=str.substring(1,str.length()-1);

if(str.indexOf('E')!= -1)//如果是科学计数值则出去小数点和E后面的数

str=str.charAt(0)+str.substring(2,str.indexOf('E'));

if (str.indexOf('.')!= -1)//如果有小数点则出去小数点及小数点后面的内容

str=str.substring(0,str.indexOf('.'));

lg=Long.parseLong(str);

while (lg>=j)

{ ch=lg%j;

st=Long.toString(ch)+st;

lg=lg/j;

}

st=Long.toString(lg)+st;

return st;

}//end goto10_8() method

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

//输入字符

public void enter()

{if(Refresh==true)

//如果已经设置了 运算符则在下一次输入数据的时候要把以前lab的内容清除掉 {lab.setText("0"); number=0; Refresh=false;}

if(lab.getText().charAt(0)=='0'&& lab.getText().length()==1)

//如果lab的内容为0则,lab的内容将被所输入的字符代替,否则直接在lab的内容后面加上所输入的字符

{lab.setText(Character.toString(ch)); number++;}

else

if(number<length)

{number++;lab.setText(lab.getText()+ch);}

}//end enter() method

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

//用来处理按了运算符后的计算-

public void js() throws This_number_too_big //指定由method抛出异常 {if (mark=='n') //没有运算符

{mark=ch; //,则设置运算符为刚刚输入的字符,

data=Double.parseDouble(lab.getText());//则设置运算数据为lab的值 Refresh=true;//则设置下一次输入的时候要刷新lab

}

else //如果采用的是连续运算(即没有使用‘=’号)则运行下面的语句 {switch (mark) //根据运算符计算结果,并把结果保存到data { case '+': data+=Double.parseDouble(lab.getText()); break; case '-': data-=Double.parseDouble(lab.getText()); break; case '*': data*=Double.parseDouble(lab.getText()); break; case '/': data/=Double.parseDouble(lab.getText()); break;} lab.setText(Double.toString(data)); //显示运算结果

mark=ch;//设置运算符为刚刚按下的运算符

Refresh=true;//则设置下一次输入的时候要刷新lab

number=lab.getText().length();//设置输入的字符个数 // System.out.println(lab.getText());//用来调试用的

if (data>Double.MAX_VALUE)

//如果data超过double类型的最大值则抛出自定义的一个异常类 {throw new This_number_too_big(); }

}

}//end js() method

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

//

public void answer() throws This_number_too_big //指定由method抛出异常 {if (mark=='n')

{}

else

{switch (mark)

{case '+': data+=Double.parseDouble(lab.getText()); break;

case '-': data-=Double.parseDouble(lab.getText()); break;

case '*': data*=Double.parseDouble(lab.getText()); break;

case '/': data/=Double.parseDouble(lab.getText()); break;}

lab.setText(Double.toString(data));

mark='n';}

if (data>Double.MAX_VALUE) //如果data超过double类型的最大值则抛出自定义的一个异常类

{throw new This_number_too_big();}

Refresh=false;

number=lab.getText().length();

}//end answer() method

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

}//end class Jsp2003

4. 测试分析

(1)程序运行情况:

程序正常的响应按钮事件,输入的数值长度受变量length的限定,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果结果很大,就可能采用科学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的E ,当结果太大的时候,有可能超出可能表示的最大值,(结果溢出),这个时候就要对结果进行必要的异常处理,我在输出结果的方法内设置if 语句,如果结果大于某一个值就抛出一个This_number_too_big 类型的类,再使用try-catch,捕捉输出结果的方法抛出的异常对象。然后进行,重制归零的处理。

(2)程序异常处理:

当结果超出Double.MAX_VALUE时,将抛出一个This_number_too_big 类的异常对象,这个是我自定义的一个异常类它继承自Exception 类,然后使用try-catch去捕捉这个异常,异常的处理如下:

try

{ js();}

catch(This_number_too_big e)

{

lab.setText("0");

number=0;

mark='n';

Refresh=false;

System.out.println("The number is too big"); } //如果出现异常则初始化效果如同clear键

五、参考文献

更多相关推荐:
计算器设计的java课程设计报告

华东交通大学课程设计华东交通大学课程设计课程设计题目计算器设计课程题目年级专业学号姓名组员指导教师Java程序设计信息一班1华东交通大学课程设计课程设计论文任务书基础学院信息与计算科学专业20xx1班一课程设计...

java课程设计计算器

中文摘要该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运…

Java计算器课程设计报告

Java计算器Java计算器Java课程设计报告姓名学号专业0Java计算器一程序要实现的功能基础功能类似windows计算器普通计算器所具有的数的输入加减乘除开根号求倒数退格清空以及数字储存器中的MR显示MC...

计算器java课程设计(完整版)

目录一课设任务及要求1二需求分析2三设计思路3四详细设计4五运行调试与分析讨论14六设计体会与小结18七参考文献19一课设任务及要求1课设任务设计的计算器应用程序可以完成加法减法乘法除法以及取余运算可以进行浮点...

java计算器设计报告

摘要本计算器是由java语言所编程设计的标准计算器可以进行十进制下的四则运算加减乘除开平方求余求倒数还可以实现二进制与十进制之间的转换通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法以便...

Java计算器课程设计报告

石家庄职业技术学院课程设计报告计算器应用程序学生姓名指导教师系别专业年级论文提交时间年月日目录一概述3二总体方案设计4三详细设计5四程序的调试与运行结果说明7五课程设计总结9六附录102一概述1程序具备的功能1...

Java课程设计报告-计算器

Java课程设计报告计算器第一部分设计的内容要求11Windows自带计算器版面设计12计算器计算功能算法实现第二部分设计思想21根据图形用户界面设计方法设计计算器版面容器类窗口Window类面板Panel类框...

Java课程设计----简易计算器

面向对象课程设计Java题目简易计算器专业电子商务班级1110025学生姓名指导老师20xx年1月6日目录一设计内容1二设计要求1三总体设计1四具体设计1五程序设计6设计体会与小结15简易计算器设计一设计内容设...

java课程设计 计算器的设计与实现

淮海工学院计算机工程学院课程设计报告设计名称:面向对象课程设计选题名称:计算器的设计与实现姓名:学号:专业班级:系(院):计算机工程学院设计时间:设计地点:软件实验室、教室

Java带计算过程的计算器课程设计报告

目录1概述12系统需求分析121系统目标122主体功能13系统概要设计231系统的功能模块划分232系统流程图24系统详细设计241主界面模块详细设计242事件响应模块详细设计55测试651测试方案652测试结...

java课程设计 科学计算器

目录1课设任务及要求111课设任务112创新要求113设计要求12需求分析221设计背景222开发的技术及功能23设计思路34详细设计441功能实现444程序设计过程65系统调试651运行调试66参考文献7附录...

大学java课程设计实验报告--计算器

JAVA课程设计报告组员信息第二组计算器的实现问题问题描述制作一个计算器基本要求要求实现类似Windows操作系统里面的标准计算器在此基础上实现部分科学性的功能测试数据分别对加减乘除和sincostan函数进行...

java计算器课程设计报告(43篇)