




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA程序设计实训实验报告班级:学号:实验一开发简单的Java应用程序一、上机目标:开发“我行我素”购物管理系统:制作系统登录菜单制作系统主菜单制作客户信息管理菜单二、训练技能点熟悉用Eclipse编写Java程序会使用输出语句从控制台输出信息会进行代码排错三、实验容阶段1:训练要点:岂;使用Eclipse平台开发Java程序岂Java输出语句需求说明:岂从控制台输出一行信息:欢迎使用开心购物管理系统1.0版实现思路:岂;创建一个Java项目:ShopManagementSystem岂;创建一个文本文件:LoginMenu1.java第编写程序框架电编写输出语句电编写注释代码:publicc
2、lassLoginMenu1publicstaticvoidmain(Stringargs)System.out.println(“);阶段2:需求说明:岂从控制台输出多行信息=X:=dTiJilesXjiV4j业=X:=dTiJilesXjiV4j业空行止LoginMeriuzl_-算參ISt屈N直帀;1L_r_J:1.登录系统呂退出肯廿肯応ir応帝谕古谕古古冇古冇古冇古冇古冇irirfl市市市市肯古肯古施応施卞書肯書代码:publicclassLoginMenu2publicstaticvoidmain(Stringargs)/*从控制台输出信息*/System.out.println(*
3、n);System.out.println();System.out.println();System.out.println(*);阶段3:训练要点:电使用n和t控制输出格式需求说明:电从控制台输出购物管理系统的登录菜单Je.vad.oc声明喝控制台疝-沁K淀已螺止LyiriMenp(1)LTblvs.应用程序C:FilesKjavakj-ild.6.0_01Linjavaw.cse(2D07-3-16下午01:23:救!雖闿我行我礎物管理系统1.版1.登录系统请选槿.揄人数孚:=:=s?am叩I阶段4:需求说明:岂输出两个菜单1、系统主菜单MainMenu.java结算:主祸Javadoc
4、声才貝控制台疼7鶴直MainMenu.java结算:主祸Javadoc声才貝控制台疼7鶴直戢破1童旦門”口日已终止恥让朋eniiJava应用程序C:Progr:aniFilesJavajdkl.6.0_01.bin.javaw.eKe(20O7_8_16下午01:20:2汎迎便埋我行秋莽购聯背理系统代码:2、客户信息管理菜单CustMMenu.java问题巨援扁台我行我耒购物苣理寧统客户信且菅理I卜CnstMMEity.(1)TJava应用程序:1玲気衣初丁订距订护乩让1.氏(1班由11“曲酬.皀迅0心2DQT亠8-28下午01;V我行我耒购物苣理寧统客户信且菅理fr1.显示所有客土信息2.添
5、加容户信息3.修改客户信息H育询客户信包H育询客户信包代码:阶段5:训练要点:岂代码排错技巧需求说明:豊纠正程序中的错误,使其输出“我喜欢Java程序”publicclasswrongcodepublicstaticvoidMain()/*打印输出一条信息system.out.println(我喜欢Java程序)/修改为:system.out.println(我喜欢Java程序”);加和;实验二变量、数据类型和运算符一、上机目标:升级“我行我素”购物管理系统,完成以下功能:购物结算打印购物小票计算会员积分模拟幸运抽奖计算员工工资二、训练技能点:会声明和使用变量能熟练使用常用运算符赋值运算符:=
6、算术运算符:+、-、*、/、%三、实验容阶段1:训练要点:動运算符(*、=)、从控制台输出信息需求说明:暑根据购物清单及会员级别:1、计算消费金额1客户购买商品单价个数折扣1T恤420.7819.52网球Y453无2、以下表形式输出结果(不要求表格边框)客户消费金额1三?2四?实现思路:第声明变量存放商品信息(单价、购物个数)魁根据不同折扣,分别计算消费金额赴使用“+”连接输出信息,使用t控制输出格式代码:publicclassPay1publicstaticvoidmain(Stringargs)doubleshirtPrice=420.78;T恤单价intshirtNo=1;购T恤件数do
7、ubletennisPrice=45;/网球单价4444inttennisNo=3;/购网球个数doubleshirtMoney=;三消费金额doubletennisMoney=;/四消费金额System.out.println(客户t+消费金额);System.out.println(”三t+shirtMoney);System.out.println();阶段2:需求说明:电三(享8折)购物如右表所示,结算时支付1500元1、计算消费总额并打印购物小票(如下图)J:iW3_d0CSBI33芦明旦揑J:iW3_d0CSBI33芦明旦揑制台法(已终止FayLJava应用程序C:ProgramF
8、ilesJav快殴如女密:交也消费单吃丸-kf吨买物品亍数金颔T恤24524905701570网球拍3201320折扣=合折全颔总计1104.0实际交费1500栈钱396.0本次购物所抿的积分是:商品单价个数T恤2452网球鞋5701网球拍32012、计算购物获得的会员积分(100元获3分)代码:阶段3:训练要点:电运算符(、/)需求说明:电幸运抽奖:凡是4位会员卡号的各个位上的数字之和大于20,则为幸运客户,有精美电幸运抽奖:凡是4位会员卡号的各个位上的数字之和大于20,则为幸运客户,有精美Mp3送上,编程计算8349各位数字之和声明回控制台嵩冃題Javadoc口B已终止GoodLuckav
9、a应用程序C:FileEJaraj会员卡号呂349各位之和:24实现思路:电结合使用“/”和“”分解获得各位数字毬计算各位数字之和代码:阶段4:需求说明:劭商场为员工提供了基本工资(3000元)、物价津贴及房租津贴,其中物价津贴为基本工资的40%,房租津贴为基本工资的25%。编程计算实领工资代码:实验三运算符和条件结构一、上机目标升级“我行我素”购物管理系统,完成以下功能:录入会员信息模拟幸运抽奖菜单切换计算会员折扣二、训练技能点:会使用关系运算符和逻辑运算符会从控制台获取键盘输入的数据会使用if-else和多重if条件结构会使用switch结构三、实验容阶段1:训练要点:岂获取键盘输入赴条件
10、运算符岂;逻辑运算符需求说明:录入会员信息(会员号、会员生日、会员积分)并显示录入信息/升级功能:判断录入是否合法(会员号必为4位整数),录入合法,显示录入的信息;不合法,显示“录入失败”|可题Javadoc|可题Javadoc声明r控制負U已缽止kddCust口羽亘应用我行我素购物菅理系统:济客户信息管理5;添加容户信息请输必.会员号g立整数闻川100清输入会员生日月/He用两应数表示;:09/12请输入积分J1000已录人的尝员信息是:1002097121000实现思路:4完成信息录入:使用Scanner获取用户输入,存储在变量中publicclassAddCust1publicstati
11、cvoidmain(Stringargs)System.out.println(”我行我素购物管理系统客户信息管理添加客户信息n);/*录入会员信息*/Scannerinput=newScanner(System.in);System.out.print(请输入会员号():);intcustNo=input.nextInt();System.out.print(”请输入会员生日(月/日购tkJseW话选挥购妥我啖素购韧肯理净忧购tkJseW话选挥购妥的苛斤編号;i苦輪広商品编号;请箭九购买皺屋21恤245.0570.0阶段3需求说明:岂基于阶段2,升级实验二阶段2购物结算功能:1、循环输入商品
12、编号和购物数量,计算消费金额并累加到总金额2、输入“n”开始结账(假设享8折)3、输入实付金额,计算找零丄.血j.阿球鞋3.阿刑.拍七*七噸吉哽:七*七七*鲁*鶯*鶯*;ih扌m.s绝颉总计芋U4S.实际交按snr代码:阶段4:训练要点:电do-while循环结构需求说明:魁进入系统主菜单,提示输入数字选择进入相应菜单。用户输入错误,可以重复输入,直到输入正确,执行相应的操作后退出循环口*既换筋用哉行讨;殆购辆弊经洋统租序结束*犠7错误”iSlfeSriSiA.&i,掛行购撫第痒翩展|丁才迪皿|M明O毎制ft疥、X钺I巨述i.tlHttij口)Jira.匚:VFc口grmITiZLatSjMa
13、-BAjdie】.曰.口口Lkla5nAjaroraw.!:tZDQF-SWL上11:日:日*:卸-s-T*T1户IWS世理2a算3ats回4a注誚代码:问题丁羽显皿丙明匕I.是否继绽Cy/n3En程序细朿问题丁羽显皿丙明匕I.是否继绽Cy/n3En程序细朿I是否继蟻:请输入理位注员号;9201我行我幸购物营理系统幸运扌由奧请输轨亠(立会员号:IK9I1291谢谢您的支持Ik已终止AG-oodLuck(2)Ja.va应用程序C:Frograj黛喰丨国前丨才曰阶段5:需求说明:*升级实验三阶段2幸运抽奖:1、循环输入4位会员号,判断是否为幸运会员2、输入“n”退出抽奖是否继绫rY/n;请输耳4位
14、会员号I327:1谢谢恕的支持!代码:实验五循环结构(二)一、上机目标:升级“我行我素”购物管理系统,完成以下功能:统计顾客的年龄层次循环录入会员信息登录时用户信息验证二、训练技能点:会使用for循环结构会使用break和continue控制循环停止或继续会进行代码跟踪调试三、实验容:阶段1:训练要点:喪for循环结构需求说明:魁为提高销售额,对顾客的年龄层次(30岁之上/之下)进行调查(样本数为10),计算两个层次的顾客比例实现思路及关键代码:岂;创建AgeRate.java岂定义计算器变量old和young锂循环录入被调查的10位顾客的年龄for(inti=0;i勵再.户信思请输入合吕号X
15、4位整数ALZ93谪幡入会员生日月/日弋用两位敘歪示“iSSftA积廿:BQQQ0L/1B已录入的会员1eJS-S;1298OL/108000询输入会员号g住整數小98_谓肃入会员生日(:月.,日V用两位裁続示韵;诰紡入現労:nn09/Z3窖卢号gmi是无皴合员号|乘入性旦宝败!常输入佥吕号显对;:荃敵inn;话策人谆吕空日(月/Hv用两位鮭表示E;120U06/1?:曲已录入的盘员信息是1D0006/151ZDO再淬结束I_1实现思路:岂基于实验三阶段1代码AddCust.java扩展岂增加for循环结构for(inti=0;i3;i+)/从键盘获取信息/判断:如果会员号不合法,输出错误提示
16、,继续下一次循环/会员号合法则输出录入的信息岂使用continue控制循环执行过程代码:阶段3:需求说明:锂实现用户登录时的信息验证:1、登录时提示输入用户名和密码并进行验证2、如果输入超过3次,程序结束3、根据3种匹配结果(信息匹配/信息不匹配/3次都不匹配),执行不同的操作代码:阶段4:训练要点:岂循环结构,break,断点跟踪需求说明:锂一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求在第几次之后反弹高度小于0.1米,并计算在这一次落地时共经过多少米?对代码进行跟踪调试,使其输出正确结果代码:实验六循环和分支结构综合训练(阶段练习)一、上机目标从控制台输入XXXX年
17、XX月,从控制台输出该月日历二、训练技能点会使用分支结构解决问题会使用循环结构解决问题三、实验容需求说明:任务从控制台输入XXXX年XX月,从控制台输出该月日历(1900年1月1日是星期一)1、判断该年是否是闰2、计算该月天数3、计算该月第一天是星期几4、按格式输出该月日历阶段划分:-阶段1分析业务;实现从控制台接收年和月,判断是否是闰年-阶段2编程计算输入月份的天数-阶段3编程计算输入的月份距离1900年1月1日的天数-阶段4编程计算输入月份的第一天是星期X-阶段5格式化输出XX年XX月日历阶段1:需求说明:锂实现:从控制台接收年和月份,判断输入的年份是否是闰年实现思路:判断是否是闰年:能被
18、4整除但不能被100整除;或者能被400整除代码:importjava.util.Scanner;publicclassPrintCalendar1publicstaticvoidmain(Stringargs)System.ou亡.println(*迎使用万年历*);Scannerinput=newScanner(System.in);System.out.print(n请选择年份:);intyear=input.nextInt();System.out.print(n请选择月份:);intmonth=input.nextInt();System.out.println();intdays=
19、0;/存储当月的天数booleanisRn;/*判断是否是闰年*/if(year%4=0&!(year%100=0)|year%400=0)isRn=true;/闰年elseisRn=false;/平年if(isRn)System.out.println(year+闰年);elseSystem.out.println(year+平年);阶段2:需求说明:豊扩展阶段1,实现2:计算输入月份的天数实现思路:闰年2月:29天平年2月:28天代码:/*计算当月的天数*/switch(month)case1:case3:case5:case7:case8:case10:case12:days=31;br
20、eak;case2:if(isRn)days=29;elsedays=28;break;default:days=30;break;System.out.println(month+t共+days+天);阶段3:需求说明:第扩展阶段2,实现3:魁1、计算输入月份距离1900年1月1日的天数锂2、计算输入月份之前的天数(从当年年初开始)岂;3、求和实现思路:代码:/*计算输入的年份之前的天数*/inttotalDays=0;for(inti=1900;iyear;i+)/*判断闰年或平年,并进行天数累加*/if(i%4=0&!(i%100=0)|i%400=0)/判断是否为闰年totalDays
21、=totalDays+366;/闰年366天elsetotalDays=totalDays+365;/平年365天System.out.println(“输入年份距离1900年1月1日的天数:+totalDays);/*计算输入月份之前的天数*/intbeforeDays=0;for(inti=1;i=month;i+)switch(i)case1:case3:case5:case7:case8:case10:case12:days=31;break;case2:if(isRn)days=29;elsedays=28;break;default:days=30;break;if(imonth)
22、beforeDays=beforeDays+days;totalDays=totalDays+beforeDays;/距离1900年1月1日的天数System.out.println(输入月份距离1900年1月1日的天数:+totalDays);System.out.println(”当前月份的天数:+days);阶段4:需求说明:锂扩展阶段3,已知该月之前的天数,计算输入月份的第一天是星期X实现思路:从1900年1月1日(星期一)开始推算:星期X=1+天数差%7周一周六:16周日:0代码:/*计算星期几*/intfirstDayOfWeek;/存储当月第一天是星期几:星期日为0,星期一星期六
23、为16inttemp=1+totalDays%7;/从1900年1月1日推算if(temp=7)/求当月第一天firstDayOfWeek=0;elsefirstDayOfWeek=temp;System.out.println(该月第一天是:+firstDayOfWeek);阶段5:需求说明:电格式化输出XX年XX月日历实现思路:分析下面语句的输出结果System.out.print】n(星期日魁星期一t星期二t星期三t星期四t星期五t星期六);for(inti=1;i=7;i+)System.out.print(i+t);源代码:/*输出日历*/System.out.println(星期日
24、t星期一t星期二t星期三t星期四t星期五t星期六);for(intnullNo=0;nullNofirstDayOfMonth;nullNo+)System.out.print(t);/输出空格for(inti=1;i请输入会员卡号;诘揄兀会员积伶:恭萄获贈礼品;是否堆绞戦Wn)请输丸会屍七号:请输入会员积分恭喜!获贈礼品:是否继镇(Y/n)请输入癸员卡号:请谕几会员积金:抱歉,积分不足I我行我蛊购物背理系銃礼品愠贈程序结束I阶段5:需求说明岂购物中心为酬广大客户,推出礼品馈赠活动,如表所示,循环输入会员号和积分,用面向对象思想实现礼品馈赠旨控制台尬、C已络止gandjGiHTxa应用程序匚:
25、IFt瓣鹫Ii譎噩|M旦广帘代码:实验八类的方法一、上机目标升级“我行我素”购物管理系统,完成以下功能:创建我行我素购物管理系统项目结构系统入口程序菜单类菜单切换二、训练技能点会编写类的成员方法会进行方法调用会创建包和导入包三、实验容阶段1:训练要点:豊创建包,在包中创建类需求说明:岂创建ShopManagementSystem项目结构:1、创建包com.wxws.sms2、在包com.wxws.sms中创建管理员类,设置默认的管理员名“accp,默认密码“0000”代码:阶段2:训练要点:豊创建类的成员方法需求说明:喪阅读已给出的Menu类添加showMainMenu(添加showMainM
26、enu()方法菜单类属性:无方法:显示登录菜单显示主菜单显示客户信息管理菜单显示真情回馈菜单实现思路:锂编写方法框架publicvoidshowMainMenu()/显示主菜单岂:编写方法主体:拷贝第4章阶段4MainMenu.java相关代码源代码:阶段3:需求说明:锂实现系统入口程序:1、加载系统管理员信息2、显示系统登录菜单3、实现登录菜单功能,如表所示选择1验证管理员密码显示主菜单选择2输出“您的使用”退出程序实现思路及关键代码:/创建带main()的类StartSMS创建系统管理员对象,加载系统保存的管理员信息创建一个菜单类对象,调用其showLoginMenu()方法显示系统登录菜
27、单提示输入信息“根据输入信息进行验证代码:源代码:源代码:阶段4:需求说明:-改写Menu类的showMainMenu()方法,实现三个菜单项功能:1、选择1显示客户信息管理菜单调用showCustMMenu()2、选择3显示真情回馈菜单调用showSendGMenu()3、选择4注销:回到开始登录菜单调用showLoginMenu()改写Menu类的showCustMMenu()方法,实现输入0返回主菜单-改写Menu类的showSendMenu()方法,实现输入0返回主菜单调用showMainMenu()代码:实验九数组一、上机目标升级“我行我素”购物管理系统,完成以下功能:实现会员信息、
28、商品信息的定义和初始化显示当前所有会员信息添加新会员实现幸运大放送二、训练技能点会定义和使用数组会操作数组进行运算三、实验容阶段1:训练要点:悬定义数组曳初始化数组需求说明:豊定义3个数组,分别存储会员号、会员生日和会员积分数组名类型数组名类型custNointcustBirthStringcustScoreint会员号会员生日会员积分162306/265000154504/082200实现思路:豊创建Data类电定义Data类的3个数组成员变量存储会员信息intcustNo=newint100;/会员号StringcustBirth=newString100;/会员生日intcustScor
29、e=newint100;/会员积分-定义Data类的成员方法initial(),执行数组初始化操作,相关数组信息一一对应custNo0=1623;custBirth0=06/26;custScore0=5000;阶段2:需求说明:电扩展Data类:1、再定义两个数组,分别存储商品名称和商品价格数组名类型goodsNameStringgoodsPricedouble2、初始化商品信息商品名商品价格addidas运动鞋880addidasT恤420.78Nike运动鞋900代码:阶段3:源代码:源代码:源代码:源代码:训练要点:二使用数组存储数据笛题|丁0込J声明貝控制台圧瓷已j终止T佔七C20J
30、ava应用程序C:FrogramFileEJavijH-X%|Br3Ir?S-fj-T.我行我秦购靭管理慕统客户信息管理添加客户信息上満输入会员号(老创立莖数:);126谙输耳会员生日霍月/日C用葫位数表示筋01/01请输X积少8000新会员滋加成功!需求说明:电编写客户管理类CustManagement,实现添加新会员功能:从键盘获取用户输入,保存在数组中第一个空位实现思路:*创建客户管理类CustManagement岂完成数据加载Datadata=newData();/创建一个数据类对象publicvoidsetData()/加载数据data.initial();电编写方法add()实现添
31、加新会员功能publicvoidadd()/提示用户输入会员号、生日和积分/查询已存储的会员信息的下一个位置的下标/一一对应向3个数组中添加数组元素阶段4:需求说明并编写测并编写测扩展客户管理类CustManagement,实现显示当前会员信息功能试类测试显示和添加信息功能育盏|丁却显皿|声明日控制台旨我行我素购物管理系统客户信息管理显示客户信息会员号生日50C02001000000100606/2C4/0B8/1612/2312./2116231545146413721206代码:阶段5:需求说明:岂阅读代码,说明礼品管理类sendGoldenCust()方法执行的过程和实现的功能代码:实验
32、十字符串一、上机目标升级“我行我素”购物管理系统,完成以下功能:系统数据传递自动计算会员折扣完善购物小票信息有效性验证二、训练技能点会使用String的相关方法会使用带参数的方法三、实验容阶段1:训练要点:岂带参方法的编写和调用需求说明:1、开始时加载系统数据:会员信息、商品信息和管理员信息2、系统运行时,数据在不同界面间进行传递,但始终保持对同一个数组进行操作实现思路:岂在实验七阶段3StartSMS的main()中添加代码加载系统数据岂在实验七产生的Menu类中编写setData(参数列表),用于获得系统数据Datadata=newData();data.initial();1、编写类成员
33、变量/*商品信息*/StringgoodsName;doublegoodsPrice;/*会员信息*/intcustNo;StringcustBirth;intcustScore;2、编写setData方法intpublicvoidsetData(StringgoodsName1,doublegoodsPrice1,custNo1,StringcustBirth1,intintgoodsName=goodsName1;goodsPrice=goodsPrice1;custNo=custNo1;custBirth=custBirth1;custScore=custScore1;岂在main()中
34、添加代码Menumenu=newMenu();menu.setData(data.goodsName,data.goodsPrice,data.custNo,data.custBirth,data.custScore);menu.showLoginMenu();源代码:阶段2:需求说明:岂扩展购物结算,自动计算会员折扣:1、已知会员号,根据会员号查找目前的积分2、计算会员所享受的折扣代码:阶段3:训练要点:电StringBuffer需求说明:豊基于阶段3扩展购物结算程序:1、使用StringBuffer存储购物信息(商品名、数量和消费额)2、打印购物小票3、测试系统购物结算功能实现思路及关键代
35、码:岂创建StringBuffer对象存储购物信息StringBuffergoodsList=newStringBuffer();+count电;使用StringBuffer的append()方法连接购物信息goodsList.append(n+name+t+price+tt+count+tt+(price*count)+t);豊打印购物小票锂在Menu类中添加代码测试购物结算程序Paypay=newPay();/购物结算pay.setData(goodsName,goodsPrice,custNo,custBirth,custScore);pay.calcPay();源代码:阶段4:需求说明
36、:岂阅读Pay类的方法returnLastMenu(),并将代码补充完整岂;测试该方法代码:实验十一类和对象综合训练(阶段练习)一、上机目标-类和对象综合训练二、训练技能点会定义类,描述类的属性和方法会创建和使用对象会使用包组织Java工程三、实验容B-曦麻B-曦麻.1凸貝”鬥弋河縣貝控制台器戏.迎进人游戏世界Gani.s丹乳应用程序C:FrogriffiFilesVjavsVjdkl.6.0_01binjavaw.ewtC20C戏.迎进人游戏世界-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr-fr猜拳刑冶出拳规则:1.或刀它.石头3.布
37、请选择角色(1:刘备2-孙椒力曹操门3.1、阶段划分:第一部分:阶段小结-阶段小结-上机、作业共性问题讲解第二部分:练习(120分钟)-阶段1分析业务;抽象出类;描述类的特征和行为;创建用户类-阶段2创建计算机类-阶段3创建游戏类,编写它的方法:初始化、计算对战结果、显示结果-阶段4编写游戏类的方法:开始游戏-阶段5编写入口程序第三部分(20分钟)-总结3.2阶段小结会定义类,描述类的特征和行为-如何定义类的一个方法?-类和对象的区别?会创建和使用对象-创建对象的语法?-如何使用别的对象的方法?如何使用同一个类的方法?-程序入口main方法可以直接使用类的方法吗?会使用包组织Java工程-为什
38、么需要使用包?它的含义?在程序中的位置?-什么情况下要导入包,举例?-语法结构?3、阶段1需求说明:分析业务抽象出类、类的特征和行为创建用户类实现思路及关键代码:分析业务,抽象出类、类的特征和行为用户类计算机类甲方顼家乙方玩家名字积分名字积分对战次数初始化开始游戏计算结果显示结杲|7*7*7*77*7*7*77*7*7*77*7*7*77*7*77*7*7*77*7*7*77*7*7*77创建用户类:属性:名称(初始值为“匿名”)、积分(初始值为0)方法:出拳代码:34、阶段2需求说明:创建计算机类属性:名称(初始值为“匿名”)、积分(初始值为0方法:出拳代码:3.5、阶段3,需求说明:创建游
39、戏类属性:甲方玩家(用户)、乙方玩家(计算机)、对战次数编写游戏类方法1初始化编写游戏类方法2计算并返回对战结果编写游戏类方法3显示对战结果代码:6、阶段4需求说明:编写游戏类方法4开始游戏君出游戏界面N显示湖嫌闿3、提示躍户送择对战角色提示周户岀基用户和计算机岀基并提示结果氐输入谨出对战,星示量终结果代码:3.7、阶段5/需求说明:编写系统入口程序,调试运行代码:3.8、总结实验十二综合练习一、上机任务基础部分总复习二、训练技能点1、理解程序基本概念程序、变量、数据类型2、会使用顺序、分支、循环、跳转语句编写程序3、会使用数组、操作字符串4、会定义类、创建和使用对象三、实验容开发迷你DVD管
40、理器(MiniDVDMgr1.0),实现:1、DVD信息查询2、DVD借出管理任务分解:阶段1:运行入口程序,显示系统菜单,支持菜单选择阶段2:可进行DVD信息查询,查询完毕返回主菜单阶段3:实现管理DVD借出的功能,修改借出状态后返回主菜单阶段1:需求说明:编写DVDSet类:初始化当前DVD信息编写DVDMgr类1、setData方法加载数据信息2、startMenu方法显示管理器菜单,支持菜单选择实现思路及关键代码:运行效果:猖懸控制台疥阍:.|師屈|比旦”亍DVDMgr(13丁曲a应用程序C:ProgramFileEJavajdfcl.6-001Vbinj欧迎使用HiniDUDMgr1
41、.0看出出1看出出1借退123DVDMiniDVDHgr源代码:阶段2:需求说明:扩展DVDMgr类:1、编写search方法:显示DVD信息(名称、借出状态)2、编写returnMain方法:输入0返回主菜单实现思路及关键代码:运行效果:问题可控制台一III-iI岛拥丨2貝k=戸PVJMgr_l1Java应用程序C:ProgramFilesJavaVjikl.6.0_01biitjavaw.eMyDVDMgrliO查询D叮D谕加返回0巒严马假日山*越獄痴冷漫滝屋“已僧出源代码:阶段3:嘰需求说明:扩展DVDMgr类:编写lend方法:输入要借的DVD名称,修改DVD状态实现思路及关键代码:运
42、行效果:源代码:实验十三面向对象的Java实现-封装一、上机目标使用Eclipse编写版块类、帖子类、用户类具有如下功能:-版块类封装版块的基本属性,可以设置和输出版块的信息-帖子类封装帖子的基本属性,可以设置和输出帖子的信息-用户类封装用户的基本属性,可以设置和输出用户的信息二、训练技能点会使用封装的方式编写类会为类添加私有属性会编写构造方法,重载构造方法会使用setter/getter方法三、实验容阶段1:唱训练要点:私有属性,封装嘰需求说明:创建帖子类类名Tip属性title:Stringcontent:StringpublishTime:Stringuid:int方法getlnfoO:
43、void实现思路及关键代码:电创建帖子类:Tip農声明私有属性并初始化帖子属性:StringtitleStringcontentStringpublishTimeintuid口编写方法getlnfo(),输出帖子基本信息口创建测试类,编写main方法调用帖子的getlnfo()方法运行效果:Jayadoc-声明旦控制台器进度Servers调试口-:专已缪止EntityTesti:Java应用程序QJavajdkl,6.0_01binjavaw.eC驚荻|二1碍|兰貝”汁源代码:阶段2:嘰需求说明:创建版块类和用户类类名BoardUser属性boardId:intboardName:String
44、parentId:intuId:intuName:StringuPass:String方法getBoardInfoO:voidgetUserInfoO:void代码:阶段3:每训练要点:构造方法,重载构造方法每需求说明:使用无参构造方法初试化帖子对象使用有参构造方法初试化帖子对象割实现思路及关键代码:1、为帖子类编写无参构造方法,初始化帖子对象,并输出“帖子类的无参构造方法”2、为帖子类编写有参构造方法,初始化titile,content,publishTime,并输出“帖子类的有参构造方法”3、使用无参构造方法创建帖子对象,调用getlnfo()输出信息冋题JaYddac声匪蛰騒.駅財进廃S
45、ervers=胃已藝止冨冋题JaYddac声匪蛰騒.駅財进廃Servers=胃已藝止冨Enti旳Java应用程厚匚:J37ajdkl.口_口1応讪旳耳刚或e冀娥齢31岀貝鬥A帖子冀的无参构造方法2007-1-110:30:16=话千俘t-=话子榆题莪是新乔谴大家指教帖子内容:我刖开始学轴2007-1-110:30:16帖子类的有参构造方法牛经典的2临程序HellAccp2C10-1-100:00:00=帖子信息=帖予标题:牛经典的2临程序HellAccp2C10-1-100:00:00发妾计间:源代码:帖子类代码测试类代码示例阶段4:锂错误现象:测试类直接访问帖子对象和用户对象的private
46、属性锂解决方法:为private属性添加setter/getter方法锂需求说明:为所有private属性添加setter/getter方法,并在测试类中使用代码:实验十四面向对象的Java实现-继承和多态一、上机目标使用Eclipse编写主题类、回复类要求如下:-主题类继承帖子类,并增加属性:主题id,版块id-回复类继承帖子类,并增加属性:回复id,主题id-在帖子类中实现多态-使用super调用父类构造方法二、训练技能点会使用继承的方式编写子类会使用多态的方式编写程序会使用super调用父类构造方法三、实验容阶段1:它训练要点:继承T需求说明:创建主题类,继承帖子类主题类结构:类名Top
47、ic属性topicId:intboardId:int帖子类结构:类名Tip属性title:Stringcontent:StringpublishTime:Stringuid:int方法getInfo():void实现思路及关键代码:1、创建主题类:Topic,继承帖子类:Tip2、增加以下属性主题id:inttopicld版块id:intboardId3、添加setter/getter方法4、使用从帖子类继承来的getInfo()方法,输出主题信息纟运行效果:=:=:=帖子信禹=:帖子标题:我会用维承了帖子内容:如题发表瞇可:2010-113-112:01:10问题|知小|声明|貝控制台芙|进
48、度辰rm|口已V已终止EntityTestSJava应用程序C:Javajdkl.6.001源代码:主题类代码示例阶段2:嘰需求说明:1、创建回复类:Reply,继承帖子类:Tip2、增加以下属性回复id:intreplyld主题id:inttopicId3、添加setter/getter方法4、使用从帖子类继承来的getInfo()方法,输出回复信息运行效果:问题EntityTeste(IHJava应用程序鬲HIE?旦尽控制台益C己终止帖子类的无参构造方法=帖子信息=帖子様题:我会用继承了帖子内容:如题发表时可:2010-10-112:C1:10帖子类的无参构造方法二“帖子信息=帖子标题;R
49、我会用继承了帖子内容:俺也会发表时可:2C10-10-L1203:12代码:回复类代码示例阶段3:蚣训练要点:多态蚣需求说明:主题类、回复类重写帖子类输出信息的方法实现思路及关键代码:1、主题类重写getlnfo()方法,输出主题信息2、回复类重写getlnfo()方法,输出回复信息3、在测试类中使用多态的方式调用getInfo()方法*运行效果如下:2010-10-112:01:10”回复信息=回复标题回复内容发表肝间乩*:我会期继承了我早就会了2010-10-112:03:12问题2010-10-112:01:10”回复信息=回复标题回复内容发表肝间乩*:我会期继承了我早就会了2010-1
50、0-112:03:12问题貝控制台跖=V已终止:EntityTestzJava应用程序CgX.|0=主题(言感=主题祢题;我会用继承了主题内容;如题发恚X向;源代码:主题类代码示例回复类代码示例阶段4:感需求说明:1、为主题类添加无参构造方法,在该方法中使用super();,并输出“主题类的无参构造方法”2、为主题类添加有参构造方法,参数同Tip类有参构造方法,在该方法中使用super(pTitle,pContent,pTime);,并输出“主题类的有参构造方法3、使用测试类测试主题类构造方法实现思路及关键代码:宅运行效果如下:问题=va-i2010-10-112:01:10宅运行效果如下:问
51、题=va-i2010-10-112:01:10帖子类的有舂构造方法主题类的箕参构造方法尸=主题信息卩=主题标题;我会用继承了主题氏容;.如题发衰:州耶V已终止EntityTestSJava应用程序C:JavaJdki帖子类的无参构造方法主题类的了;参构進方进上=二主题信息尸=主题标题:找是新手,请大家搖教主题内容:我讯开始学応海请大家指教发表时间;2007-1-110:30:16源代码:主题类代码示例实验十五面向对象的Java实现-接口一、上机目标使用Eclipse编写接口和实现类,要求如下:-定义数据访问接口用户数据访问接口:UserDao版块数据访问接口:BoardDao主题数据访问接口:
52、TopicDao回复数据访问接口:ReplyDao-编写UserDao接口的实现类:UserDaolmpl-使用多态的方式调用UserDao接口的方法二、训练技能点会编写接口会实现接口会使用接口三、实验容阶段1:训练要点:定义接口靈需求说明:定义接口:用户Dao接口、主题Dao接口接口UserDaoTopicDao方法査找用户增加用户修改用户査找主题增加主题修改主题删除主题实现思路及关键代码:UserDao接口实现思路1、定义接口:UserDao2、声明UserDao接口的方法查找用户:publicUserfindUser(StringuName);增加用户:publicintaddUser(
53、Useruser);修改用户:publicintupdateUser(Useruser);TopicDao接口实现思路1、定义接口:TopicDao2、声明UserDao接口的方法查找主题:publicTopicfindTopic(inttopicId);增加主题:publicintaddTopic(Topictopic);删除主题:publicintdeleteTopic(inttopicId);修改主题:publicintupdateTopic(Topictopic);源代码:UserDao代码TopicDao代码阶段2:嘰需求说明:定义接口:版块Dao接口、回复Dao接口接口BoardD
54、aoReplyDao方法增加论坛版块增加回复信息删除回复信息修改回复信息霖运行效果:代码:BoardDao代码ReplyDao代码阶段3:殛训练要点:实现接口,使用多态殛需求说明:实现UserDao接口,使用接口和实现类实现多态实现思路及关键代码:1、定义UserDao接口的实现类:UserDaoImpl2、实现UserDao接口所有的方法3、在测试类中使用UserDao接口和其实现类实现多态殛运行效果如下:口巴间斜知|口巴间斜知|声明|貝控制台芙|.进度辰rmV比蝮止UserDaoTestJava应用稈序C:Javajdkl.6.0_01_用口住土/;丨口心1、用户名几superman用户巒
55、码:I陥BI兰貝”鬥+-二审口;7河一叶厂I口园戌户名;spiderman.,P-J:T密码:spiderman源代码:实现类代码示例阶段4:遇需求说明:1、为User类添加表示性别的属性:intgender,及对应的setter/getter方法,修改getUserlnfo()方法,增加性别的输出2、在UserDao接口中添加性别常量3、在测试类中使用该常量实现思路及关键代码:遍运行效果如下:Javadoc声明曰控制台碍Q門V已终止頁UserDaoTestJava应.洛哩序銘浇1昌i議1兰貝1一更/1曰应尸名中sp:derinan密码:spidernan三别:男严二用尸信4-=尸名:smperman户密码:1二别:男J-源代码:User类代码示例UserDao代码示例实验十六使用异常处理程序错误一、上机目标使用UserDaoImpl类、User类完成如下功能:-对空的User对象调用getUserlnfo()方法抛出的异常进行处理-修改UserDaoImpl,要求用户id不能修改,修改则抛异常-使用log4j输出日志信息二、训练技能点会使用try/catch/finally捕获和处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学护理教学课件
- 注册土木工程师考试复习资料的筛选与使用技巧分享试题及答案
- 火灾化学的原因及预防试题及答案
- 解析2025年大学化学试题及答案
- 冰箱购销合同范例
- 养牛回购合同范例
- 人教版五年级数学期末试卷及答案
- 电动汽车的市场细分策略试题及答案
- 逻辑关系的幼儿园数学试题及答案
- 钓鱼学徒考试题及答案
- 《思想道德与法治》课件-第三章 继承优良传统 弘扬中国精神
- NB/T 11646-2024井工煤矿采空区自然发火监测预警技术规范
- 2025年劳动与社会保障专业考核试卷及答案
- 《危险化学品企业安全生产标准化规范》专业深度解读与应用培训指导材料之1:1范围+3术语和定义(雷泽佳编制-2025A0)
- 上海上海闵行职业技术学院招聘60人笔试历年参考题库附带答案详解
- 《戏曲服饰图案解析》课件
- 2025届高三英语一轮复习“语法填空”题型说题课件
- 第18课《井冈翠竹》课件-2024-2025学年统编版语文七年级下册
- 第16课《有为有不为》公开课一等奖创新教学设计
- 【MOOC】《思想道德与法治》(东南大学)章节中国大学慕课答案
- MOOC 中医与辨证-暨南大学 中国大学慕课答案
评论
0/150
提交评论