Java课程设计保存计算过程地计算器Word文档下载推荐.docx
- 文档编号:18872870
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:20
- 大小:314.92KB
Java课程设计保存计算过程地计算器Word文档下载推荐.docx
《Java课程设计保存计算过程地计算器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java课程设计保存计算过程地计算器Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
按下清除“C”键,数据被全部清除;
点击右侧“保存”按钮,可保存计算过程。
2.4.1基本运算模块功能
(1)加法
两个数据相加操作,可以为正负数、小数。
(2)减法
两个数据相减操作,可以为正负数、小数。
(3)乘法
两个数据相乘操作,可以为正负数、小数。
(4)除法
两个数据相除操作,可以为正负数、小数。
2.4.2特殊运算模块功能
(1)n次方
求一个自然数m的n次方。
(2)算术平方根
求一个非负整数的算术平方根。
(3)正弦函数
求一个自然数的正弦值。
(4)对数函数
求一个正数以10为底的对数。
(5)随机函数
随机出现一个0~100以内的整数。
2.4.3保存计算过程模块
(1)保存:
选择保存位置、输入保存文件名称及格式,确定完成保存。
(2)复制:
复制运算过程区域内容。
(3)清除:
清除运算过程区域所有内容。
系统结构图,如图1所示。
图1系统结构图
主要程序运算过程流程图,如图2所示。
图2运算过程流程图
3.设计结果与分析
编写Java程序,开发环境为JCreator,程序包含jisuan.java和jisq.java两个java源文件。
其中,jisuan.java为程序的主类,jisq.java内包含程序主界面设计、各类算法设计以及保存计算过程等部分。
程序经过检查修改无误后运行得到如下运行结果。
(1)计算器程序主界面,如图3所示。
图3计算器主界面
(2)各种运算界面,如图4所示。
图4运算界面
(3)计算器显示框清零操作,如图5所示。
图5清零操作
(4)保存计算过程,如图6所示。
图6保存计算过程
(5)查看保存后文件,如图7所示。
图7保存文件
(6)点击“清除”按钮,清除计算过程区内容,清除内容后,界面返回程序主界面,计算过程显示区重新显示新的计算过程。
当输入数据有误时,程序会运行出错。
(1)当程序进行除法运算除数为零时,程序运行错误,如图8所示。
图8除数为零错误
(2)当程序进行求算术平方根运算根号下为负数时,程序运行错误,如图9所示。
图9根号下为负数错误
(3)当程序进行对数运算底数为非正数时,程序运行错误,如图10所示。
图10底数为非正数错误
4.设计体会
在这两周的Java课程设计中,我学到了很多很多,感受也是颇多。
越来越发现实践的重要性。
首先在做这次课程设计的时候,遇到了很多问题,这些问题让我改掉了自己暴躁的性格,学会了有耐心,耐心的去琢磨枯燥的代码,耐心的去敲代码,耐心的去调试代码,修改错误……其中最大的问题的如何保存已经输入的数字或者符号进行运算,如何显示运算过程,经过多次研究和查询发现有很多种保存运算过程的方法,可以运用链表进行存储和提取数据,也可以用栈。
另外,此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。
在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。
最大的收获是在完成过程中培养的解决问题的能力。
在做课程设计时必然会遇到困难,会有不会的东西,重要的不是现在会不会,而是遇到问题知道如何找到解决的途径。
还使我对所学知识能够融会贯通,又不断丰富了新知识。
Java计算器设计使得我对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。
这两周磨平了尖锐的棱角,让我变的更加成熟,同时,更加加深对知识的理解和印象。
在学习的过程中,我发现了许多简便方法,例如检查错误,尝试新方法,调试不懂语句的作用……但是,这也是在深刻的教训中学到的,慢慢发现自己的Java语言学的还不够好,理解的还不够深,知道的还少,有的甚至都没见过,所以,我的学习还有待于加强,并且要继续努力学习,吾生也有涯,而知也无涯,所以应该树立良好的学习理念,更何况现代信息技术高速发展,不学习就会落后,就会被社会所淘汰,因此要时刻提醒自己学习,学习新的科学技术。
5.参考文献
[1]刘升华.JAVA从入门到实践[M].北京:
清华大学出版社2009
[2]王晓东.算法设计与分析[M].北京:
清华大学出版社2003
[3]艾力江.Java2范例入门与提高[M].北京:
清华大学出版社2003
[4]陈国君.Java2设计基础[M].北京:
[5]饶一梅.Java语言程序设计[M].北京:
人民邮电出版社2009
附录
(1)jisuan.java
//jisuan.java
importjavax.swing.*;
publicclassjisuan{
publicstaticvoidmain(String[]args){
jisqji=newjisq();
}
}
(2)jisq.java
//jisq.java
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjava.text.*;
importjava.util.*;
importjavax.swing.border.*;
publicclassjisqextendsJFrameimplementsActionListener{
JPanelpane=newJPanel();
Strings,s1,s2;
doublet,t1,t2=0;
JTextFieldfiel,show;
JTextAreaarea;
JButtonb0,b1,b2,add,b3,b4,b5,b6,b7,b8,b9,sub,mul,dele,equ,dev;
JButtonsqrt,pow,random,sin,p,log,zf,tui,save,clear,copy,point;
publicjisq(){
init();
this.setBounds(123,143,500,330);
this.setTitle("
计算器"
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
voidinit(){
pane.setLayout(null);
this.add(pane);
area=newJTextArea();
JScrollPanescrollPane=newJScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setBounds(280,70,200,140);
area.setEditable(false);
pane.add(scrollPane);
fiel=newJTextField();
fiel.setBounds(10,30,250,30);
fiel.setEditable(false);
fiel.setFont(newFont("
TimesRoman"
Font.BOLD,16));
//显示框中的数字大小和颜色
fiel.setHorizontalAlignment(JTextField.RIGHT);
//文字右对齐
fiel.setBackground(Color.white);
//设置背景颜色
fiel.setBorder(newSoftBevelBorder(BevelBorder.LOWERED));
pane.add(fiel);
show=newJTextField();
show.setBounds(280,30,200,30);
show.setEditable(false);
show.setFont(newFont("
//显示框中的数字大小、颜色
show.setHorizontalAlignment(JTextField.CENTER);
//文字居中
pane.add(show);
b0.setBounds(10,70,43,33);
pane.add(b0);
b0.addActionListener(newActionListener(){//匿名类实例做监视器
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==b0){
fiel.setText(fiel.getText()+"
show.setText(fiel.getText());
}
}
});
b1=newJButton("
1"
b1.setBounds(59,70,43,33);
pane.add(b1);
b1.addActionListener(this);
b2=newJButton("
2"
b2.setBounds(108,70,43,33);
pane.add(b2);
b2.addActionListener(this);
add=newJButton("
+"
add.setForeground(Color.BLUE);
add.setBounds(157,70,43,33);
pane.add(add);
add.addActionListener(this);
b3=newJButton("
3"
b3.setBounds(10,109,43,33);
pane.add(b3);
b3.addActionListener(this);
b4=newJButton("
4"
b4.setBounds(59,109,43,33);
pane.add(b4);
b4.addActionListener(this);
b5=newJButton("
5"
b5.setBounds(108,109,43,33);
pane.add(b5);
b5.addActionListener(this);
sub=newJButton("
-"
sub.setForeground(Color.BLUE);
sub.setBounds(157,109,43,33);
pane.add(sub);
sub.addActionListener(this);
b6=newJButton("
6"
b6.setBounds(10,148,43,33);
pane.add(b6);
b6.addActionListener(this);
b7=newJButton("
7"
b7.setBounds(59,148,43,33);
pane.add(b7);
b7.addActionListener(this);
b8=newJButton("
8"
b8.setBounds(108,148,43,33);
pane.add(b8);
b8.addActionListener(this);
mul=newJButton("
*"
mul.setForeground(Color.BLUE);
mul.setBounds(157,148,43,33);
pane.add(mul);
mul.addActionListener(this);
b9=newJButton("
9"
b9.setBounds(10,187,43,33);
pane.add(b9);
b9.addActionListener(this);
dele=newJButton("
C"
dele.setForeground(Color.red);
dele.setBounds(59,187,43,33);
pane.add(dele);
dele.addActionListener(this);
equ=newJButton("
="
equ.setBounds(108,187,43,33);
pane.add(equ);
equ.addActionListener(this);
dev=newJButton("
/"
dev.setForeground(Color.blue);
dev.setBounds(157,187,43,33);
pane.add(dev);
dev.addActionListener(this);
point=newJButton("
."
point.setBounds(10,226,43,33);
pane.add(point);
point.addActionListener(this);
p=newJButton("
π"
p.setBounds(59,226,43,33);
pane.add(p);
p.addActionListener(this);
zf=newJButton("
±
"
zf.setBounds(108,226,43,33);
pane.add(zf);
zf.addActionListener(this);
tui=newJButton("
←"
tui.setBounds(206,70,53,33);
pane.add(tui);
tui.addActionListener(this);
sqrt=newJButton("
√"
sqrt.setBounds(206,148,53,33);
pane.add(sqrt);
sqrt.addActionListener(this);
pow=newJButton("
xy"
pow.setBounds(206,109,53,33);
pane.add(pow);
pow.addActionListener(this);
random=newJButton("
R"
random.setBounds(156,226,43,33);
pane.add(random);
random.addActionListener(this);
sin=newJButton("
sin"
sin.setBounds(206,187,53,33);
pane.add(sin);
sin.addActionListener(this);
log=newJButton("
log"
log.setBounds(206,226,53,33);
pane.add(log);
log.addActionListener(this);
save=newJButton("
保存"
save.setForeground(Color.RED);
save.setBounds(280,220,60,42);
pane.add(save);
save.addActionListener(this);
copy=newJButton("
复制"
copy.setForeground(Color.BLACK);
copy.setBounds(350,220,60,42);
pane.add(copy);
copy.addActionListener(this);
clear=newJButton("
清除"
clear.setForeground(Color.BLUE);
clear.setBounds(420,220,60,42);
pane.add(clear);
clear.addActionListener(this);
save.setToolTipText("
保存计算过程到文件"
copy.setToolTipText("
复制选中的计算过程"
clear.setToolTipText("
清除计算过程"
publicvoidactionPerformed(ActionEvente){
Stringstr=e.getActionCommand();
if(str.equals("
)){
fiel.setText(fiel.getText()+"
show.setText(fiel.getText());
}elseif(str.equals("
fiel.setText(fiel.getText()+"
}elseif(str.equal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 保存 计算 过程 计算器