- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
JAVA程序设计报告
需求分析
1.设计题目:车票管理系统
用JAVA语言和数据结构知识设计设计车票管理系统。要求如下所述:
一车站每天有n个发车班次,每个班次都有一个班次号〔1、2、3…n〕,固定的发车时间,固定的路线〔起始站、终点站〕,大致的行车时间,固定的额定载客量。如:
班次发车时间起点站终点站行车时间额定载量已定票人数
18:00武汉广州24530
26:30武汉成都34040
37:00武汉成都34020
410:00武汉成都3402
…
根据以上情况设计出相应的车票管理系统,具体功能如下:
录入功能
录入班次信息,可不定时地增加班次数据
浏览功能
浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的发车时间,那么显示“此班已发出”的提示信息)。
查询功能
查询路线:可按班次号查询,可按终点站查询。
售票功能
当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
退票功能
退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
文件保存
可自行增加其他符合业务逻辑的功能
2.设计要求
a.根据题目功能需求,自己定义适宜的存储结构、类、参数等;
b.提供友好的用户界面,方便用户操作。
3.系统功能需求分析
a.录入班次信息,可不定时地增加班次数据。
b.浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的发车时间,那么显示“此班已发出”的提示信息)。
c.查询路线:可按班次号查询,可按终点站查询。
d.当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。
f.退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
二.概要设计
1.系统总体设计框架。
2.系统功能模块图。
三.详细设计
主函数:
四.主要源程序代码
主界面:
publicclassTrainTicketextendsJFrameimplementsActionListener{
JButtonAdd,ViewAll,Serach,SellTicket,ReturnTicket,Delete;
TicketAddAdd_method;
TicketAdd2Add2_method;
TicketViewAllViewAll_method;
TicketSerachSerach_method;
TicketReturnReturn_method;
TicketSellSell_method;
TicketDeleteDelete_method;
publicstaticfinalListTrainTrainList=newArrayListTrain();
publicTrainTicket(){
try{
FileWriterout=newFileWriter(word.txt);
out.close();
}catch(IOExceptione){
}
setBounds(400,100,700,500);
JPanelpanel=newJPanel();
setContentPane(panel);
panel.setLayout(null);
JLabellabel=newJLabel(欢送进入车票管理系统);
label.setFont(newFont(BOLD,Font.BOLD,28));
panel.add(label);
label.setBounds(200,20,400,100);
Add=newJButton(录入);
panel.add(Add);
Add.setBounds(50,200,80,50);
ViewAll=newJButton(浏览);
panel.add(ViewAll);
ViewAll.setBounds(150,200,80,50);
Serach=newJButton(查询);
panel.add(Serach);
Se
文档评论(0)