版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计实训报告班级:学号:姓名:xxxx指导教师:xxxx成绩:实训内容:题目1、用java语言设计一个关于ATM机的程序并实现相应的功能。解题思路:首相设计一个ATM类在该类中分别设计修改密码;重新登录;存钱,取钱,及相关方法,设计一个登录界面;在主方法中分别调用实现ATM机功能的方法程序代码packagep2;importjava.util.Scanner;publicclassATM1{ staticintmima=123; staticintzhanghao=123;staticintxianqian=10000;staticintj;staticintk;staticScannersc=newScanner(System.in); //关于存钱的操作方法;public staticvoidcunqian(){ System.out.println("请输入您要存钱的金额:");intcunqian=sc.nextInt();//(从键盘上读入一个数)if(cunqian<0||cunqian%100!=0){ System.out.println("请正确输入您的存钱金额:"); cunqian();}else{ xianqian=xianqian+cunqian;System.out.println("您以存入:"+cunqian+"你的现有钱数为:"+xianqian+"元");}welcome(); } //关于取钱的操作方法;publicstaticvoidquqian(){System.out.println("请输入您要取钱的金额:"); intqu=sc.nextInt(); if(qu>xianqian||qu<0){System.out.println("交易金额受到限制,请从新执行操作");welcome();}if(qu%100!=0&&qu>0) { System.out.println("注意:(取款金额为100的倍数)"); quqian();}if(0<qu&&qu<xianqian&&qu%100==0) {xianqian=xianqian-qu; System.out.println("您要取的金额为:"+qu+"剩余的金额:"+xianqian); welcome(); }}//关于查询余额的方法publicstaticvoidYue(){//存钱和取钱后的余额 System.out.println("剩余的金额:"+xianqian); welcome();}//关于修改密码的方法;publicstaticvoidxiugai(){System.out.println("请输入原始密码:");intyuanshimima=sc.nextInt();if(mima==yuanshimima) {{System.out.println("请输入您的新密码:"); intxinde;xinde=sc.nextInt(); System.out.println("您的新密码为:"+xinde); System.out.println("使用您的新密码从新登陆"); System.out.print("请输入账号:"); intj=sc.nextInt(); System.out.print("请输入你的新密码:"); intk=sc.nextInt(); if(j==zhanghao&&k==xinde) {System.out.println("登陆成功选择您要执行的操作"); }else {System.out.print("请输入账号:"); j=sc.nextInt(); System.out.print("请输入你的新密码:"); k=sc.nextInt(); if(j==j&&k==k) {System.out.println("登陆成功选择您要执行的操作"); }}} }else {System.out.println("请正确输入您的原始密码:"):xiugai();}welcome();}//suokapublicstaticvoidsuoka(){ System.out.print("您的卡已被锁!请及时办理相关手续\n"); System.exit(0);}publicstaticvoidtuichu(){ System.out.println("感谢您使用本系统,欢迎下次在来,再见!"); System.exit(1);}publicstaticvoidcongxindenlu(){for(inta=0;a<2;a++){System.out.print("请正确输入账号:");intj=sc.nextInt();System.out.print("请正确输入密码:"); intk=sc.nextInt();if(j==zhanghao&&k==mima){ welcome(); intchange=0; for(inti=0;i<100;i++) {change=sc.nextInt(); if(change==2) { xiugai(); } if(change==3) {cunqian();}if(change==4);{quqian();}if(change==5){Yue();} if(change==0){tuichu(); }}}}System.out.print("您的卡已被锁!请及时办理相关手续\n");System.exit(0);} publicstaticvoidwelcome(){System.out.print("—选择你要进行的操作\n"); System.out.print("2、修改密码\n"); System.out.print("3、存钱操作\n"); System.out.print("4、取钱操作\n"); System.out.print("5、查询余额\n"); System.out.print("0、退出系统\n"); System.out.print("—\n")} publicstaticvoidmain(String[]args){ System.out.print("$$$$$$轻院ATM机欢迎您的到来!$$$$$$\n"); System.out.print("—请你先进行登陆操作\n"); //int i=sc.nextInt(); System.out.print("请输入账号:"); intj=sc.nextInt(); System.out.print("请输入密码:"); intk=sc.nextInt(); if(j==zhanghao&&k==mima) {welcome(); intchange=-1; for(inti=0;i<100;i++) {change=sc.nextInt(); if(change==2) { xiugai(); } if(change==3);{cunqian();} if(change==5) {Yue();} if(change==0) {tuichu(); } if(change==4)//注意若在此后加上;则if控制不起作用; {quqian();}}} else {congxindenlu();} }}运行效果图
题目【练习题】26.综合题定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量解题思路先建立一个abstract的Role"类,通过GetXXX()和SetXXX()方法对各变量进行读写进行读写;在让EmployeeextendsRole按要求进行相关设计;3.接下来设计 "Manager"类继承"Employee"类,有一个final成员变量"vehicle"最后设计test类。程序代码:package综合题26;//定义一个抽象的"Role"类,有姓名,年龄,性别等成员变量//1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),//具有一个抽象的play()方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。publicabstractclassRole{ //成员变量的声名protectedStringxinming;protectedintage;protectedStringsex;protecteddoublehigh;//,同时至少定义两个构造方法publicRole(){ }publicRole(StringR,intA,StringS,doubleH){xinming=R;age=A;sex=S;high=H; }//通过GetXXX()和SetXXX()方法对各变量进行读写及tihs的用法publicStringgetXinming(){ returnxinming;}publicvoidsetXinming(Stringxinming){ this.xinming="小强";}publicintgetAge(){ returnage;}publicvoidsetAge(intage){ this.age=20;}publicStringgetSex(){ returnsex;}package综合题26;//2. 从Role类派生出一个"Employee"类,//该类具有Role类的所有成员(构造方法除外),//同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play()方法,并提供一个finalsing()方法。publicclassEmployeeextendsRole{//并扩展 salary成员变量,同时增加一个静态成员变量“职工编号(ID)”。 privatedoublesalary;staticStringID;publicEmployee(doublesalary,StringID){ // this.salary=1000.0; this.setSalary(100000.0); this.ID=ID; super.xinming="小王"; super.age=20; super.high=1.71;}publicvoidsetSalary(doublesalary){ this.salary=salary; } publicdoublegetSalary(){ returnsalary; }//super.xinming="小强"; publicvoidplay(){ System.out.print("likeplay!\n"); }// 提供一个finalsing()方法 finalvoidsing() { System.out.print("lovesing!\n"); } }publicvoidsetSex(Stringsex){ this.sex="男";}publicdoublegetHigh(){ returnhigh;}publicvoidsetHigh(Stringhigh){ this.high=1.70;}//paly的抽象方法publicabstractvoidplay(); }ackage综合题26;//3. "Manager"类继承"Employee"类,有一个final成员变量"vehicle"publicclassManagerextendsEmployee{publicManager(doublesalary,StringID){ super(salary,ID); }finalStringvehicle="BMW_x6";}package综合题26;/** *4. 在main()方法中制造Manager和Employee对象,并测试这些对象的方法 */publicclassTest{publicstaticvoidmain(String[]args){ Employeee=newEmployee(0,null); System.out.println("姓名:"+e.xinming+"年龄:"+e.age+"身高:"+e.high+"月薪:"+e.getSalary()); e.play(); e.sing(); Managerm=newManager(0,null); System.out.println("坐骑:"+m.vehicle);} 运行效果图:题目:24.抽象类、继承、接口综合设计一个系统:XXX门的实现过程:流程:设计一张抽象的门Door,那么对于这张门来说,就应该拥有所有门的共性,开门openDoor()和关门closeDoor();然后对门进行另外的功能设计,防盗--theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈……要求:利用继承、抽象类、接口的知识设计该门解题思路首先设计一张抽象类门,然后在这个类中设计题目要求的方法:然后定义door3类然为接口然后让door2类实现door3类、然后在建立一个superdoor继承door最后建立test类并在其中创建SuperDoor,door类的对象并实现相应的方法。程序代码:packagep6;publicabstractclassDoor{ voidopenDoor() { System.out.print("门已经打开\n"); } voidcloseDoor() {System.out.print("门已经关闭\n"); }}packagep6;publicclassdoor2implementsdoor3{ publicvoidtheftproof(){ System.out.print("该门具有防盗功能\n"); } publicvoidbulletproof(){ System.out.print("该们具有防火功能\n"); }publicvoidwaterproof(){System.out.print("该们具有防水功能\n"); }}interfacedoor3{voidtheftproof();void waterproof();void bulletproof();}packagep6;publicclassSuperDoorextendsDoor{}packagep6;publicclasstest_door{publicstaticvoidmain(String[]args){ s=newSuperDoor(); s.openDoor(); s.closeDoor(); door2d=newdoor2(); d.theftproof(); d.waterproof(); d.bulletproof(); }} 运行效果题目【练习题】27.综合题:使用命令行参数(饮料类型),输出该饮料类型的味道1解题思路:由推荐实现步骤先建立一个Java抽象类Drink,然后建立Drink的具体子类:接下来建立异常类DrinkNotFoundException最后建立Test测试类,测试以上内容的正确性程序代码:package综合题27;importjava.util.Scanner;/**1、 建立一个Java抽象类Drink,应当:b、 在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意捕获DrinkNotFoundException。*/publicabstractclassDrink{//b、 声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如:c、 声明静态工厂方法getDrink(intdrinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。该方法要求声明DrinkNotFoundException,当没有相对应的饮料类型时,抛出该异常publicstaticintgetDrink(intdrinkType)throwsDrinkNotFoundException{Coffeec=newCoffee();Beerb=newBeer();Milkm=newMilk(); switch(drinkType) {case1:c.tast();break; case2:b.tast();break; case3:m.tast();break; } returndrinkType;}//a、 声明一个抽象方法taste(),该方法负责输出饮料的味道public abstractvoidtast();package综合题27;//a、 分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶);// b、 实现taste()方法,要求在控制台打印各自的味道特征。publicclassCoffeeextendsDrink{publicvoidtast(){ System.out.print("咖啡\n"); System.out.print("味微苦,略带香味"); }}package综合题27;publicclassBeerextendsDrink{ publicvoidtast(){ System.out.print("啤酒\n"); System.out.print("甘苦,微辣"); }}package综合题27;publicclassMilkextendsDrink{ publicvoidtast(){ System.out.print("牛奶\n"); System.out.print("无味、有奶香"); }}//继承了Exception异常类;publicclassDrinkNotFoundExceptionextendsException{}importjava.util.Scanner;publicclassTest{/**4、 建立Test测试类,测试以上内容的正确性a、 编写main方法,通过命令行传参的方式传入某种饮料的类型。b、 在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意捕获DrinkNotFoundException。c、 然后调用该饮料对象的taste()方法,输出该饮料的味道*/ publicstaticvoidmain(String[]args){ //Coffee=c=newCoffee(); //Drinkd=newDrink(); for(inti=0;i<100;i++) { System.out.print("\n输入你要选择的饮料\n"); System.out.print("1、咖啡\n"); System.out.print("2、啤酒\n"); System.out.print("3、牛奶\n"); Scannersc=newScanner(System.in); intj=sc.nextInt(); if(j>3) { System.out.print("对不起没有您输入的饮料类型!"); } try{ Drink.getDrink(j); }catch(DrinkNotFoundExceptione){ e.printStackTrace();运行效果 }实训总结经过为期四周的java实训,使得自己技能有了一定的提高。更重要的是使得自己对java这门课程产生了浓厚的兴趣、、、、。更加坚定了自己向前迈进的脚步。在这期间使得自己更好的明白了java类是用来表述同种对象的公共属性,和特点的,属于类的某一对象被称为类的实例。真正懂得了域是对象和类的静态属性;以及方法作为类的动态属性,对一个功能的实现起着至关重要的作用。还掌握了以前未成接触过的类如:使用Scanner进行从键盘上输入。以及实训期间对以前陌生的抽象类有了进步的了解。与此同时也对与抽象类及这一部分相关的知识温故了一遍。也对其做了一个简单总结;1抽象类中至少含有一个抽象方法2不能被实例化3继承抽象类的子类必须实现其所有的抽象方法才能被实例化。否则子类还是抽象类。但自己开始亲身实验关于继承时。原来一个小小的程序也可以向人一样,子承父业。神奇之处就不言而预了。“于伦理道德约束继承只赋予每个孩子一个爸爸“。为了使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PE焊工职业考核考试题(含详细答案)
- 2026年焦炉试题及答案
- 化学实验室安全操作规程
- 原醛症螺内酯血钾监测频次标准化规范共识
- 2025-2026学年陕西省咸阳市初中数学七年级期末上册高分重点黑金模拟题(附答案)
- Oracle数据库面试题及答案(真实面试版)
- 房颤消融术后远程心电监测应用共识
- 景区攀岩运维员安全操作规程
- 2026年内蒙古自治区检察系统聘用制书记员招聘笔试试题及答案
- 老年抑郁筛查路径中国专家共识(2026版)
- 行业年报对比分析报告
- 车辆日常检查课件
- 2025年国家开放大学(电大)《护理伦理学》期末考试复习题库及答案解析
- 收费站冬防安全知识培训课件
- 2026年中国农业银行秋季校园招聘即将开始考试笔试试题(含答案)
- 重庆綦江县2025年上半年事业单位公开遴选试题含答案分析
- 出生医学证明警示教育
- 安全注射标准WST856-2025学习解读课件
- TD/T 1001-2012地籍调查规程
- JG/T 298-2010建筑室内用腻子
- 秋冬季节老年人疾病预防指南
评论
0/150
提交评论