JAVA程序课程设计计算器编辑.docx

上传人:b****7 文档编号:23558100 上传时间:2023-05-18 格式:DOCX 页数:18 大小:805.45KB
下载 相关 举报
JAVA程序课程设计计算器编辑.docx_第1页
第1页 / 共18页
JAVA程序课程设计计算器编辑.docx_第2页
第2页 / 共18页
JAVA程序课程设计计算器编辑.docx_第3页
第3页 / 共18页
JAVA程序课程设计计算器编辑.docx_第4页
第4页 / 共18页
JAVA程序课程设计计算器编辑.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JAVA程序课程设计计算器编辑.docx

《JAVA程序课程设计计算器编辑.docx》由会员分享,可在线阅读,更多相关《JAVA程序课程设计计算器编辑.docx(18页珍藏版)》请在冰豆网上搜索。

JAVA程序课程设计计算器编辑.docx

JAVA程序课程设计计算器编辑

 

程序课程设计-JAVA

 

实验报告

 

开课院系:

经济管理学院

实验:

JAVA课程设计

班级:

信管111

学生姓名:

杨平

学号:

209110631

 

南京工程学院

1、实验内容与步骤

将下列程序,改造成算器,要求

1、增加乘、除、减法运算

2、改正现行的近似计算,即现在用7.6+7.8=15.39999999这个问题

3、(选作)进行乘方、开方、取模运算

4、(选作)进行统计功能开发,功能自定义。

比如多个数的平均值求法等

5、(选作)实现二进制运算

二、系统分析

利用JAVA程序设计开发计算器,在老师的指导和程序代码的

改编下,最终实现计算器的加、减、乘、除、开方、取模、乘方等功

能,除此之外,还将解决该计算器的近似计算问题。

课程设计的计算

器虽然功能不是很全面,但是也实现了一些简单的计算功能。

 

三、系统总体设计或详细设计(简单写出即可)

用JAVA编译计算器,系统面板包括了一组button控件,控件采用5X4的布局方式,再将界面大小控制在600x480大小,其中包括0—9数字、还有+、—、*、/、乘方、取模、开方等功能。

(如图)

一、计算加法12+13

二、计算减法36—26

三、计算乘法5*12

四、计算除法36/12

五、计算乘方8的2次方

六、计算开方49的开方

七、计算取模,10除4

八、解决近似计算,7.6+7.8

四、程序代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.text.DecimalFormat;

importjava.lang.Math;

publicclassCalculatorextendsJFrameimplementsActionListener{

DecimalFormatdf=(DecimalFormat)DecimalFormat.getInstance();

privateJPaneljPanel1,jPanel2;

privateJTextFieldresultField;

privateJButtons1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,b5,b6,b7,f1,f2,f3;

privatebooleanend,add,sub,mul,div,pow,sqr,mod;

privateStringstr;

privatedoublenum1,num2;

publicCalculator(){

super("Calculate");

setSize(600,480);

Containercon=getContentPane();

con.setLayout(newBorderLayout());

jPanel1=newJPanel();

jPanel1.setLayout(newGridLayout(1,1));

jPanel2=newJPanel();

jPanel2.setLayout(newGridLayout(4,5));

resultField=newJTextField("0");

jPanel1.add(resultField);

con.add(jPanel1,BorderLayout.NORTH);

s1=newJButton("1");s1.addActionListener(this);

s2=newJButton("2");s2.addActionListener(this);

s3=newJButton("3");s3.addActionListener(this);

s4=newJButton("4");s4.addActionListener(this);

s5=newJButton("5");s5.addActionListener(this);

s6=newJButton("6");s6.addActionListener(this);

s7=newJButton("7");s7.addActionListener(this);

s8=newJButton("8");s8.addActionListener(this);

s9=newJButton("9");s9.addActionListener(this);

s0=newJButton("0");s0.addActionListener(this);

b1=newJButton("+");b1.addActionListener(this);

b2=newJButton("-");b2.addActionListener(this);

b3=newJButton("*");b3.addActionListener(this);

b4=newJButton("/");b4.addActionListener(this);

b5=newJButton("^");b5.addActionListener(this);

b6=newJButton("sqr");b6.addActionListener(this);

b7=newJButton("%");b7.addActionListener(this);

f1=newJButton(".");f1.addActionListener(this);

f2=newJButton("=");f2.addActionListener(this);

f3=newJButton("OFF");f3.addActionListener(this);

jPanel2.add(s1);

jPanel2.add(s2);

jPanel2.add(s3);

jPanel2.add(b1);

jPanel2.add(b5);

jPanel2.add(s4);

jPanel2.add(s5);

jPanel2.add(s6);

jPanel2.add(b2);

jPanel2.add(b6);

jPanel2.add(s7);

jPanel2.add(s8);

jPanel2.add(s9);

jPanel2.add(b3);

jPanel2.add(b7);

jPanel2.add(f1);

jPanel2.add(s0);

jPanel2.add(f2);

jPanel2.add(b4);

jPanel2.add(f3);

con.add(jPanel2,BorderLayout.CENTER);

}

publicvoidnum(inti){

Strings=null;

s=String.valueOf(i);

if(end){

resultField.setText("0");

end=false;

}

if((resultField.getText()).equals("0")){

resultField.setText(s);

}

else{

str=resultField.getText()+s;

resultField.setText(str);

}

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==s1)

num

(1);

elseif(e.getSource()==s2)

num

(2);

elseif(e.getSource()==s3)

num(3);

elseif(e.getSource()==s4)

num(4);

elseif(e.getSource()==s5)

num(5);

elseif(e.getSource()==s6)

num(6);

elseif(e.getSource()==s7)

num(7);

elseif(e.getSource()==s8)

num(8);

elseif(e.getSource()==s9)

num(9);

elseif(e.getSource()==s0)

num(0);

elseif(e.getSource()==b1)

sign

(1);

elseif(e.getSource()==b2)

sign

(2);

elseif(e.getSource()==b3)

sign(3);

elseif(e.getSource()==b4)

sign(4);

elseif(e.getSource()==b5)

sign(5);

elseif(e.getSource()==b6)

sign(6);

elseif(e.getSource()==b7)

sign(7);

elseif(e.getSource()==f1){

str=resultField.getText();

if(str.indexOf(".")<=1){

str+=".";

resultField.setText(str);

}

}

elseif(e.getSource()==f2){

num2=Double.parseDouble(resultField.getText());

if(add){

num1=num1+num2;}

elseif(sub){

num1=num1-num2;}

elseif(mul){

num1=num1*num2;}

elseif(div){

num1=num1/num2;}

elseif(pow){

num1=Math.pow(num1,num2);}

elseif(sqr){

num1=Math.sqrt(num1);}

elseif(mod){

num1=num1%num2;}

df.setMaximumFractionDigits

(2);

Stringx=df.format(num1);

resultField.setText(x);

end=true;

}

if(e.getSource()==f3)

System.exit(0);

}

publicvoidsign(ints){

if(s==1){

add=true;

sub=false;

mul=false;

div=false;

pow=false;

sqr=false;

mod=false;

}

elseif(s==2){

add=false;

sub=true;

mul=false;

div=false;

pow=false;

sqr=false;

mod=false;

}

elseif(s==3){

add=false;

sub=false;

mul=true;

div=false;

pow=false;

sqr=false;

mod=false;

}

elseif(s==4){

add=false;

sub=false;

mul=false;

div=true;

pow=false;

sqr=false;

mod=false;

}

elseif(s==5){

add=false;

sub=false;

mul=false;

div=false;

pow=true;

sqr=false;

mod=false;

}

elseif(s==6){

add=false;

sub=false;

mul=false;

div=false;

pow=false;

sqr=true;

mod=false;

}

elseif(s==7){

add=false;

sub=false;

mul=false;

div=false;

pow=false;

sqr=false;

mod=true;

}

num1=Double.parseDouble(resultField.getText());

end=true;

}

publicstaticvoidmain(String[]args){

Calculatorth1=newCalculator();

th1.show();

}

}

五、收获体会

通过这次课程设计实践,我深深地体会到java程序设计的内涵,我不但进一步理解到老师上课所传授的知识,而且在自我程序设计上也有了一个完美的突破。

通过老师的指导和自己查阅资料,最终把计算器给编译出来了。

这次设计的计算器,刚开始觉得很难,但是后来觉得很有趣,通过自己慢慢的摸索和请教老师,我一步一个脚印,将老师所给的代码,进一步解读,慢慢的自己也就会了,其实大体上都是差不多的,只要按照老师所给的加法和减法程序,那么乘法和除法以及乘方、取模等计算功能都可以将其模仿出来。

经过了一天的自习研究,该计算器最终被我做出来了,最终实现计算器的加、减、乘、除、开方、取模、乘方等功能,除此之外,还将解决该计算器的近似计算问题。

课程设计的计算器虽然功能不是很全面,但是也实现了一些简单的计算功能。

所以这次课程设计虽然比较困难,但是只要态度认真,最终就可以将计算器攻克,将理论与实践相结合,那么就会收获到你想要的结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1