Java编写简单计算器附源代码.docx

上传人:b****1 文档编号:736531 上传时间:2023-04-29 格式:DOCX 页数:28 大小:89.47KB
下载 相关 举报
Java编写简单计算器附源代码.docx_第1页
第1页 / 共28页
Java编写简单计算器附源代码.docx_第2页
第2页 / 共28页
Java编写简单计算器附源代码.docx_第3页
第3页 / 共28页
Java编写简单计算器附源代码.docx_第4页
第4页 / 共28页
Java编写简单计算器附源代码.docx_第5页
第5页 / 共28页
Java编写简单计算器附源代码.docx_第6页
第6页 / 共28页
Java编写简单计算器附源代码.docx_第7页
第7页 / 共28页
Java编写简单计算器附源代码.docx_第8页
第8页 / 共28页
Java编写简单计算器附源代码.docx_第9页
第9页 / 共28页
Java编写简单计算器附源代码.docx_第10页
第10页 / 共28页
Java编写简单计算器附源代码.docx_第11页
第11页 / 共28页
Java编写简单计算器附源代码.docx_第12页
第12页 / 共28页
Java编写简单计算器附源代码.docx_第13页
第13页 / 共28页
Java编写简单计算器附源代码.docx_第14页
第14页 / 共28页
Java编写简单计算器附源代码.docx_第15页
第15页 / 共28页
Java编写简单计算器附源代码.docx_第16页
第16页 / 共28页
Java编写简单计算器附源代码.docx_第17页
第17页 / 共28页
Java编写简单计算器附源代码.docx_第18页
第18页 / 共28页
Java编写简单计算器附源代码.docx_第19页
第19页 / 共28页
Java编写简单计算器附源代码.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java编写简单计算器附源代码.docx

《Java编写简单计算器附源代码.docx》由会员分享,可在线阅读,更多相关《Java编写简单计算器附源代码.docx(28页珍藏版)》请在冰点文库上搜索。

Java编写简单计算器附源代码.docx

Java编写简单计算器附源代码

西安交通大学

《Java技术与应用》大作业

简单计算器的编写

一、选题理由

这个学期我选择《Java技术与应用》这门课(其实我的选修课已经修完了),完全是对java语言的兴趣和老师的个人魅力使然。

这门课让我学到了许多知识,了解到了java语言的基本语法、结构和特点。

由于个人觉得水平有限,并且没有队友,所以选择了较为容易的简易计算器作为我的大作业。

二、系统目标

实现对代数表达式的输入、计算、输出。

三、系统分析与设计

(1)计算类cal设计编写

publicclasscal{

publicstaticbooleancheck(Stringstr)//检验表达式是否正确

publicstaticFloattransfer(Stringstr)//转化为栈的形式并计算

publicstaticbooleancompare(chara,charb)//比较优先级,判断b的优先级是否大于等于a的优先级

}

publicstaticFloattransfer(Stringstr)方法为该程序的核心代码,涉及数据结构的知识。

(2)人机界面设计

通过swing可以容易的设计出计算器的人机界面。

(3)部分细节

普通Button内部代码的编写

由于要在文本框中输入一串字符串,而不是覆盖之前的输入。

因此采用方法:

先将文本框中原有的字符串取出,再加上要输入的字符,最后一同输出到文本框。

具体代码为

Stringstr1=jButton1.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

”=“Button的代码编写

”=“作为一个特殊的Button,其作用为:

先将文本框中的字符串取出,取出后首先判断字符串即表达式是否正确,运用cal.check方法,若返回值为true,将字符串表达式送入cal.transfer,返回代数式的值,并在文本框jTextField输出。

过程涉及各种数据类型的转换。

具体代码为

Stringstr1=jTextField1.getText();

booleanm=cal.check(str1);

if(m=true){

Floatresult=cal.transfer(str1);

Stringlast=String.valueOf(result);

jTextField1.setText(last);

}else

jTextField1.setText("default");

(4)实验数据与测试用例

四、使用说明

输入数学表达式(可以用鼠标点按钮,也可直接在文本框键盘输入),输入后点击”=“按钮,得到计算结果。

五、人员安排

自己动手,丰衣足食。

六、程序漏洞与不足。

(1)程序健壮性不足。

Cal.check方法代码存在问题,对于部分错误表达式没有报错。

(2)按等号按键计算输出后,再按数字按钮不会清空文本框,会在计算结果的基础上继续输入。

先自动清空文本框会更好一些。

七、开发总结

编写这个简易计算器是我编写的第一个成型的小软件,有很多不足。

但是在编写的过程中,我对java语言有了更加深刻的理解,知道了设计制作软件的一般过程。

老师给我的最深的印象就是认真负责,现场编程现场讲解,让我最真实的感受到了一个开发者的思维过程和遇到问题时的处理方法,这在我之前两年课程从来都没有遇到过。

总之,感谢老师精彩的课程。

八、附录:

完整代码及jar文件

importjava.awt.BorderLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JTextField;

importjavax.swing.WindowConstants;

importjavax.swing.SwingUtilities;

/**

*ThiscodewaseditedorgeneratedusingCloudGarden'sJiglooSWT/SwingGUI

*Builder,whichisfreefornon-commercialuse.IfJiglooisbeingused

*commercially(ie,byacorporation,companyorbusinessforanypurpose

*whatever)thenyoushouldpurchasealicenseforeachdeveloperusingJigloo.

*Pleasevisitfordetails.UseofJiglooimplies

*acceptanceoftheselicensingterms.ACOMMERCIALLICENSEHASNOTBEEN

*PURCHASEDFORTHISMACHINE,SOJIGLOOORTHISCODECANNOTBEUSEDLEGALLYFOR

*ANYCORPORATEORCOMMERCIALPURPOSE.

*/

publicclassNewJFrameextendsjavax.swing.JFrame{

privateJTextFieldjTextField1;

privateJButtonjButton1;

privateJButtonjButton15;

privateJButtonjButton16;

privateJButtonjButton21;

privateJButtonjButton20;

privateJButtonjButton19;

privateJButtonjButton18;

privateJButtonjButton17;

privateJButtonjButton14;

privateJButtonjButton13;

privateJButtonjButton12;

privateJButtonjButton11;

privateJButtonjButton10;

privateJButtonjButton9;

privateJButtonjButton8;

privateJButtonjButton7;

privateJButtonjButton5;

privateJButtonjButton4;

privateJButtonjButton3;

privateJButtonjButton2;

/**

*Auto-generatedmainmethodtodisplaythisJFrame

*/

publicstaticvoidmain(String[]args){

SwingUtilities.invokeLater(newRunnable(){

publicvoidrun(){

NewJFrameinst=newNewJFrame();

inst.setLocationRelativeTo(null);

inst.setVisible(true);

}

});

}

publicNewJFrame(){

super();

initGUI();

}

privatevoidinitGUI(){

try{

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

getContentPane().setLayout(null);

this.setTitle("Mycalculation");

{

jTextField1=newJTextField();

getContentPane().add(jTextField1,"North");

jTextField1.setPreferredSize(newjava.awt.Dimension(460,72));

jTextField1.setBounds(0,0,460,72);

jTextField1.setFont(newjava.awt.Font("MicrosoftYaHeiUI",1,

16));

}

{

jButton1=newJButton();

getContentPane().add(jButton1);

jButton1.setText("1");

jButton1.setBounds(25,87,82,48);

jButton1.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton1.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton1.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton1.actionPerformed

Stringstr1=jButton1.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton2=newJButton();

getContentPane().add(jButton2);

jButton2.setText("2");

jButton2.setBounds(120,87,82,48);

jButton2.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton2.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton2.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton2.actionPerformed

Stringstr1=jButton2.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton3=newJButton();

getContentPane().add(jButton3);

jButton3.setText("3");

jButton3.setBounds(214,87,82,48);

jButton3.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton3.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton3.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton3.actionPerformed

Stringstr1=jButton3.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton4=newJButton();

getContentPane().add(jButton4);

jButton4.setText("4");

jButton4.setBounds(25,142,82,48);

jButton4.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton4.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton4.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton4.actionPerformed

Stringstr1=jButton4.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton5=newJButton();

getContentPane().add(jButton5);

jButton5.setText("5");

jButton5.setBounds(122,142,82,48);

jButton5.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton5.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton5.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton5.actionPerformed

Stringstr1=jButton5.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton7=newJButton();

getContentPane().add(jButton7);

jButton7.setText("6");

jButton7.setBounds(215,142,82,48);

jButton7.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton7.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton7.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton7.actionPerformed

Stringstr1=jButton7.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton8=newJButton();

getContentPane().add(jButton8);

jButton8.setText("7");

jButton8.setBounds(26,201,82,50);

jButton8.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton8.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton8.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton8.actionPerformed

Stringstr1=jButton8.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton9=newJButton();

getContentPane().add(jButton9);

jButton9.setText("8");

jButton9.setBounds(122,201,82,50);

jButton9.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton9.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton9.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton9.actionPerformed

Stringstr1=jButton9.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton10=newJButton();

getContentPane().add(jButton10);

jButton10.setText("9");

jButton10.setBounds(215,201,82,50);

jButton10

.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton10.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton10.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton10.actionPerformed

Stringstr1=jButton10.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

}

});

}

{

jButton11=newJButton();

getContentPane().add(jButton11);

jButton11.setText("0");

jButton11.setBounds(26,269,82,48);

jButton11

.setFont(newjava.awt.Font("MicrosoftYaHeiUI",0,18));

jButton11.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventevt){

System.out.println("jButton11.actionPerformed,event="

+evt);

//TODOaddyourcodeforjButton11.actionPerformed

Stringstr1=jButton11.getText();

Stringstr2=jTextField1.getText();

jTextField1.setText(str2+str1);

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2