




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验3深入面向对象编程(2)淮海工学院计算机科学系实验报告书课程名:_ Java_题 目:_ 深入面向对象编程(2)班 级:_ _ 学 号:_ _ 姓 名:_ _ _评语:成绩: 指导教师: 批阅时间: 年 月 日一、实验目的学会运用属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载等来实现Java的继承与多态的思想;理解的Java的包、接口与异常处理机制,正确运用异常处理、包、接口、内部类、匿名类等语法实现对象的上转型、接口的定义、接口回调及多态编程。正确使用字符串相关类(String、StringBuffer、StringTokenizer)、日期时间类(Date、Calendar)、Math类、System类、BigInteger类。另外,对于ArrayList、Vecto、HashTable等具有泛型特征的集合类,在理解其工作原理的基础上,能进行初步的编程和应用。二、实验环境操作系统:windows 2000 或 Window XP集成开发环境:JDK1.6及以上版本三、实验学时 2学时,必做实验。四、实验内容(1) 进一步熟悉Java面向对象相关语法、熟练运用自定义异常处理、包、内部类等相关面向对象深化语法编写程序(2) 按要求编写相关算法程序五、实验步骤与结果(1) 改正以下程序中出现的错误,并进行注释说明import java.awt.*;public class Err015 extends Applet Reader r1; VIPReader r2: public void init() r1=new Reader(zhang,1000); r1.setBalance(-50); r2=new VIPReader(wang,2000); r2.setBalance(100); public void paint(Graphics g) if(r1!=null) g.drawString(r1.String(),20,100); if(r2!=null) g.drawString(r2.toString(),20,130); private class Reader int readerNo; String readerName; String pwd; double balance; Reader( ) balance=0; pwd=123456; Reader(String name,int no) readerNo=this.no; readerName=name; this(); setBalance(double initSal) if(initSal0) System.out.println(“钱款不能为负数!”); else balance=initSal; abstract String toString() String S; s=编号:+readerNo+| 姓名:+readerName+ | 密码:+pwd+| 账户余额: +balance; return s; class VIPReader extend Reader VIPReader(int no,String name) this(name,no); public String toString() String s; s= super.toString(); 改正:import java.awt.*;import java.applet.*;/添包public class Err015 extends Applet Reader r1; VIPReader r2;/:改为; public void init() r1=new Reader(zhang,1000); r1.setBalance(-50); r2=new VIPReader(2000,wang);/构造方法参数位置不对 r2.setBalance(100); public void paint(Graphics g) if(r1!=null) g.drawString(r1.toString(),20,100);/String改为toString if(r2!=null) g.drawString(r2.toString(),20,130);/;改为英文状态下的输入; class Reader/去掉private int readerNo; String readerName; String pwd; double balance; Reader( ) balance=0; pwd=123456;/数据与类型不匹配加 Reader(String name,int no) this();/放在第一行 readerNo=no;/去掉this readerName=name; void setBalance(double initSal)/缺少类型void if(initSal0) System.out.println(钱款不能为负数!);/“”英文状态下的输入 else balance=initSal; public String toString()/abstract改为public String s;/大写改为小写 s=编号:+readerNo+| 姓名:+readerName+ | 密码:+pwd+| 账户余额: +balance; return s; class VIPReader extends Reader/保留字extends错误 VIPReader(int no,String name) super(name,no);/this改为super public String toString() String s; s= super.toString(); return s;/缺少返回语句 (2) 进一步Java自定义异常处理机制。按以下要求完成相关程序1 定义一个运动员成绩类: (1) 用适当的数据类型定义5个成员属性:运动员编号、姓名、参加项目、成绩、所属单位;(2)适当定义2个构造函数;(3)定义不少于4个对有关属性进行适当操作的方法; (4)自定义1个异常,当成绩值为负数时抛出该异常; (5)编写一个测试程序验证该类的设计效果。 import java.awt.*;class AtheletString number;String name;String sportitems;double grade;String unit;Athelet()number=12;name=王明;sportitems=800米;grade=97;unit=淮海工学院;public void setsportitems(String newsportitems)sportitems=newsportitems;public String getsportitems()return sportitems;public void setgrade(double newgrade) throws aExceptionif(newgrade0)throw (new aException();grade=newgrade;public double getgrade()return grade;public String toString()return运动员信息是:+number+|+name+|+sportitems+|+grade+unit;class aException extends ExceptionString message;aException()message=成绩值不能为负数!;public String toString()return message;public class testExample6public static void main(String args)Athelet a1=new Athelet();System.out.println(a1.toString();Athelet a2=new Athelet();trya2.setgrade(-10);catch(aException e)System.out.println(e.toString();System.out.println(a2.toString(); (3) 改正以下程序中出现的错误,并进行注释说明import java.awt.*import javax.awt.event.*; public class Test extends Applet Label prompt; TextFiled input,output; Button btnok; public Test( ) prompt=new Label(“请输入一个整数:”); input=new TextField(20); btnok=new Botton(求该数的平方);add(prompt);add(input);add(output); add(btnok);input.addActionListener();setsize(500,400); public void actionPerformed(ActionEvent e) if(e.getSource()=input) note.setText(input.getText(); else test2 t=new test2(); int x=t.cal(input.getText(); output.setText(计算结果:+x); abstract class test2static int i=0;private int cal(int x)i=x*x;改正:import java.awt.*;/缺少;import java.awt.event.*;/javax改为javaimport java.applet.*;/添加包public class Test extends Applet implements ActionListener/添加接口 Label prompt; TextField input,output;/TextField拼写错误 Button btnok; public void init( )/添加void类型 prompt=new Label(请输入一个整数:);/的输入状态错误input=new TextField(20);output=new TextField(20);/添加此行 btnok=new Button(求该数的平方);/Button拼写错误add(prompt);add(input);add(output); add(btnok);input.addActionListener(this);/添加thisbtnok.addActionListener(this);/添加此行setSize(500,400);/大小写 public void actionPerformed(ActionEvent e) if(e.getSource()=input) output.setText(input.getText();/note改为output else test2 t=new test2(); int x=t.cal(Integer.parseInt(input.getText();/错误 output.setText(计算结果:+x);/;的输入状态错误 class test2/去掉abstractstatic int i=0;int cal(int x)/去掉privatei=x*x;return i;/缺少返回语句 (4) (选做)编写并调试运行如下程序,理解JAVA中内部类实现接口应用interface Animalvoid eat();void sleep();class Zooprivate class Tiger implements Animalpublic void eat()System.out.println(tiger eat);public void sleep()System
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 总帐会计面试笔试题及答案
- 2025年静脉输液标准试题及答案
- 铜管乐器制作工前沿技术考核试卷及答案
- 紧急事件响应机制-洞察及研究
- 蒸馏炉工安全规范考核试卷及答案
- 高炉炼铁工适应性考核试卷及答案
- 柔性版制版员三级安全教育(班组级)考核试卷及答案
- 矿用重型卡车轮胎换修工主管竞选考核试卷及答案
- 电焊条压涂工岗前考核试卷及答案
- 健康生活新选择:2025年可穿戴医疗器械市场深度研究报告
- 2025年国际贸易业务员招聘考试试题集及答案
- 2025年建筑涂料采购专项合同
- 2025-2026学年人教版(2024)小学美术二年级上册(全册)教学设计(附目录P144)
- 高考化学一轮复习:硫及其化合物(好题冲关)原卷版
- 2025年城市环境监测评估标准评估方案
- 2025年水面渔业养殖承包合同范本:水产养殖合作协议
- 水厂反恐知识培训内容课件
- 供应链金融操作指南
- 部编版语文六年级上册3《古诗词三首》(同步练习)(含答案)
- 2025-2026学年湘教版(2024)初中地理七年级上册教学计划及进度表
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解)
评论
0/150
提交评论