《面向对象程序设计》课程设计报告Word格式文档下载.docx
- 文档编号:19236270
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:238.67KB
《面向对象程序设计》课程设计报告Word格式文档下载.docx
《《面向对象程序设计》课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程设计报告Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
是
。
3、具体实现过程
3.1程序运行界面
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.*;
publicclassMyGui{
staticinta=30;
staticintb=20;
staticintc=10;
staticintd=0;
staticJTextFieldt1=newJTextField();
staticStringaa[]={"
A"
"
B"
C"
};
staticJComboBoxJC1=newJComboBox(aa);
staticJTextAreat2=newJTextArea(3,3);
staticJTextFieldt3=newJTextField();
staticJTextFieldt4=newJTextField();
staticJTextFieldt5=newJTextField();
staticroom[]rooma=newroom[30];
staticroom[]roomb=newroom[20];
staticroom[]roomc=newroom[10];
staticString[]number=newString[60];
staticbooleantt=true;
publicstaticvoidmain(String[]args){
//布置整体的窗口属性
JFramemyframe=newJFrame("
酒店管理系统"
);
myframe.setLayout(null);
myframe.setVisible(true);
myframe.setSize(400,580);
myframe.setLocation(350,100);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//添加"
添加"
按钮
JButtonb1=newJButton("
b1.addActionListener(newA());
b1.setBounds(50,200,130,60);
退出"
JButtonb2=newJButton("
b2.addActionListener(newB());
b2.setBounds(50,270,130,60);
结算"
JButtonb3=newJButton("
b3.addActionListener(newC());
b3.setBounds(190,200,130,60);
JButtonb4=newJButton("
制作者"
b4.addActionListener(newD());
b4.setBounds(190,270,130,60);
//添加5个标签及文本框
JLabell1=newJLabel("
号码"
l1.setBounds(10,110,30,30);
t1.setBounds(40,110,200,30);
JLabell2=newJLabel("
类型"
l2.setBounds(10,150,30,30);
t2.setBounds(10,10,370,30);
JLabell3=newJLabel("
A类房间数"
l3.setBounds(10,50,70,30);
t3.setText("
30"
t3.setBounds(72,50,40,30);
JLabell4=newJLabel("
B类房间数"
l4.setBounds(140,50,70,30);
t4.setText("
20"
t4.setBounds(202,50,40,30);
JLabell5=newJLabel("
C类房间数"
l5.setBounds(270,50,70,30);
t5.setText("
10"
t5.setBounds(332,50,40,30);
//添加其它组件
JC1.setBounds(40,150,50,30);
//添加功能标签
JLabell6=newJLabel("
1.默认同一号码只能住一种类型且只能住一间房间"
l6.setBounds(10,340,300,30);
JLabell7=newJLabel("
2.添加时当号码为空和号码重复时会提醒出错"
l7.setBounds(10,371,300,30);
JLabell8=newJLabel("
5.结算时当号码为空或者不存在会提醒出错"
JLabell9=newJLabel("
4.结算时当类型与号码不匹配时会提醒出错"
l9.setBounds(10,433,300,30);
JLabell10=newJLabel("
6.本程序模拟的金额计算采用随机数,实际的计算方法并不一样"
l8.setBounds(10,464,370,30);
JLabell11=newJLabel("
3添加成功相应的房间数减1,当房间数为0时则无法继续添加"
l10.setBounds(10,495,370,30);
l11.setBounds(10,402,370,30);
//添加组件到窗体中去
myframe.add(l1);
myframe.add(t1);
myframe.add(l2);
myframe.add(JC1);
myframe.add(l3);
myframe.add(t3);
myframe.add(l4);
myframe.add(t4);
myframe.add(l5);
myframe.add(t5);
myframe.add(b1);
myframe.add(b2);
myframe.add(b3);
myframe.add(b4);
myframe.add(t2);
myframe.add(l6);
myframe.add(l7);
myframe.add(l8);
myframe.add(l9);
myframe.add(l10);
myframe.add(l11);
}
}
classroom{
Stringtelephonenumber;
Stringtype;
3.2添加按钮功能代码
importjavax.swing.JOptionPane;
publicclassAextendsMyGuiimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(t1.getText().length()==0)JOptionPane.showMessageDialog(null,"
号码为空,无法添加"
else{
for(intk=0;
k<
d;
k++){
if(t1.getText().equals(number[k]))
{JOptionPane.showMessageDialog(null,"
号码已存在,无法添加"
tt=false;
}
if(tt){
if(JC1.getSelectedItem().equals("
)){
a--;
if(a<
0){JOptionPane.showMessageDialog(null,"
无剩余A类房间数,无法添加"
a++;
else
{t3.setText("
"
+a);
rooma[29-a]=newroom();
rooma[29-a].type="
;
rooma[29-a].telephonenumber=t1.getText();
number[d]=t1.getText();
d++;
JOptionPane.showMessageDialog(null,"
添加成功"
t1.setText("
b--;
if(b<
无剩余B类房间数,无法添加"
b++;
else
{t4.setText("
+b);
roomb[19-b]=newroom();
roomb[19-b].type="
roomb[19-b].telephonenumber=t1.getText();
c--;
if(c<
无剩余C类房间数,无法添加"
c++;
else{
t5.setText("
+c);
roomc[9-c]=newroom();
roomc[9-c].type="
roomc[9-c].telephonenumber=t1.getText();
}tt=true;
t1.setText("
}
3.3退出按钮功能代码
publicclassBextendsMyGuiimplementsActionListener{
System.exit(0);
3.4结算按钮功能代码
publicclassCextendsMyGuiimplementsActionListener{
if(number[0]==null){JOptionPane.showMessageDialog(null,"
号码还没添加,请先添加"
t2.setText("
else{if(t1.getText().length()==0){JOptionPane.showMessageDialog(null,"
号码为空,无法结算"
for(intj=0;
j<
j++){if(t1.getText().equals(number[j]))break;
elseif(j==d-1){JOptionPane.showMessageDialog(null,"
号码不存在,无法结算"
}}
for(inti=0;
i<
30-a;
i++){
if(t1.getText().equals(rooma[i].telephonenumber)){
t2.setText("
号码为"
+rooma[i].telephonenumber+"
类型为A"
+"
的费用为"
+10*((int)(10*Math.random())+1));
break;
}
else{if(i==29-a&
&
tt){JOptionPane.showMessageDialog(null,"
号码与类型不匹配,无法结算"
}tt=true;
}
20-b;
if(t1.getText().equals(roomb[i].telephonenumber)){
+roomb[i].telephonenumber+"
类型为B"
+100*((int)(10*Math.random())+1));
else{if(i==19-b&
10-c;
if(t1.getText().equals(roomc[i].telephonenumber)){
+roomc[i].telephonenumber+"
类型为C"
+1000*((int)(10*Math.random())+1));
else{if(i==9-c&
t1.setText("
}
3.5制作者按钮功能代码
publicclassDextendsMyGuiimplementsActionListener{
JOptionPane.showMessageDialog(null,"
制作者:
班级:
09软件一班,姓名:
朱荣博,学号:
20090501157"
三、总结与体会
设计一个课程设计需要不断的调试,编程不可能一步到位。
即使完成了自己所想到的功能也可以借鉴其它作品的功能使自己的程序更加完整。
在编写过程中,当遇到问题是可以借组API文档查询,也可以XXjava吧寻求帮助等。
编写一个程序也是一个不断学习的过程,对掌握知识非常有帮助。
希望通过本次课程设计,对于进一步的java学习有深入的帮助。
指导教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 面向 对象 程序设计 课程设计 报告