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

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

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

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

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

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

用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("

end=false;

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

)){

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+="

;

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;

elseif(s==3){

mul=true;

elseif(s==4){

div=true;

elseif(s==5){

pow=true;

elseif(s==6){

sqr=true;

elseif(s==7){

mod=true;

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

publicstaticvoidmain(String[]args){

Calculatorth1=newCalculator();

th1.show();

五、收获体会

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

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

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

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

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

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

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

当前位置:首页 > 考试认证 > IT认证

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

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