java程序设计报告Word文档格式.docx
《java程序设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《java程序设计报告Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
目录
一、课题概述3
1、课题任务3
2、课题目的3
3、课题要求4
二、设计思路及采取的方案4
1、总体设计思想4
2、实验方案4
三、实验结果16
四、总结体会16
1、遇到的难题16
2、一些应用中的技巧17
3、心得体会与收获17
一、课题概述
1、课题任务
自主设计与编写一个计算机模拟程序,实现一个简单的计算器程序,能够进行简单的数据运算。
(1)通过实践,进一步对JAVA程序语言的熟练;
(2)自主的设计,加强了学生的设计与动脑的过程;
(3)编写java源程序;
(4)完成程序设计课程设计报告;
2、课题目的
1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;
3、培养学生在项目开发中创新意识及能力;
4、通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧,熟练运用各部分知识。
3、课题要求
课程设计必须自己独立完成,严禁抄袭他人;
界面模拟Windows中的计算器程序。
实现基本数学运算、函数等功能:
加、减、乘、除、阶乘、正弦、余弦和指数运算;
(3)实现要点:
添加相关组件并进行按钮事件处理;
(4)界面要求:
用图形界面实现。
简单界面可参考图1。
图1
二、设计思路及采取的方案
1、总体设计思想
(1)在设计计算器之前构造好计算器的版块与模型;
(2)通过Calculator构造方法,设计好窗口的框架(面板,按钮,背景颜色,大小,并把相应的按钮添加监视器);
(3)编写主函数,创建计算器对象;
(4)编写加减乘除,三角函数,阶乘,次方等计算方法。
2、实验方案
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.lang.Math.*;
publicclassCalculatorextendsFrameimplementsActionListener
{
String[]label={"
1"
"
2"
3"
+"
sin"
CE"
4"
5"
6"
-"
cos"
<
--"
7"
8"
9"
*"
y^x"
1/x"
0"
+/-"
."
/"
n!
"
="
};
Button[]button;
Panelp1;
JTextFieldtext1;
StringBufferstr=newStringBuffer();
inta,b=0;
doublex=0,y=0;
booleanappend=false;
publicCalculator()//旆?
{
text1=newJTextField("
0."
20);
text1.setHorizontalAlignment(JTextField.RIGHT);
text1.setEditable(false);
button=newButton[label.length];
p1=newPanel();
p1.setLayout(newGridLayout(4,6,1,1));
//校校式
for(inti=0;
i<
button.length;
i++)
{
button[i]=newButton(label[i]);
//驯签诎钮
button[i].setForeground(Color.blue);
//钮色
button[i].addActionListener(this);
//每钮蛹
p1.add(button[i]);
//钮拥签
}
Frameframe=newFrame("
熊氏计算器"
);
//默贸杀呓绮?
frame.setLayout(newBorderLayout());
frame.add(BorderLayout.NORTH,text1);
frame.add(BorderLayout.CENTER,p1);
frame.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEventeve){System.exit(0);
}});
//录
frame.setSize(350,250);
frame.setLocation(200,200);
frame.setVisible(true);
}
publicstaticvoidmain(Stringargs[])
Calculatorxiong=newCalculator();
publicvoidactionPerformed(ActionEvente)
Strings=e.getActionCommand();
//硕氐址
if(s.equals("
))//鍔犳硶
str.setLength(0);
if(b==0)
a=b=1;
y=0;
text1.setText("
+x);
else
b=a;
a=1;
switch(b)
case1:
x+=y;
break;
case2:
x-=y;
case3:
x*=y;
case4:
x/=y;
elseif(s.equals("
))//鍑忔硶
{
if(b==0)
a=b=2;
}
else
b=a;
a=2;
x=x+y;
x=x-y;
x=x*y;
x=x/y;
))//涔樻硶
a=b=3;
b=a;
a=3;
))//闄ゆ硶
a=b=4;
a=4;
elseif(s.equals("
))//灏忔暟鐐?
append=true;
if(text1.getText().trim().indexOf('
.'
)!
=-1);
if(text1.getText().trim().equals("
))
text1.setText((str.append("
+s)).toString());
text1.setText((str.append(s)).toString());
))//鎸夐敭0
)){}
text1.setText(str.append(s).toString());
y=Double.parseDouble(text1.getText().trim());
))//姝e鸡
Stringtemp=text1.getText().trim();
doubledtemp=Double.parseDouble(temp);
+Math.sin(dtemp));
))//浣欏鸡
text1.s