实验六深入面向对象编程(2)资料_第1页
实验六深入面向对象编程(2)资料_第2页
实验六深入面向对象编程(2)资料_第3页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验3深入面向对象编程(2)淮海工学院计算机科学系实验报告书课程名:Java题目:深入面向对象编程(2)班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日、实验目的学会运用属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载等 来实现Java的继承与多态的思想;理解的 Java的包、接口与异常处理机制,正确运用 异常处理、包、接口、内部类、匿名类等语法实现对象的上转型、接口的定义、接口回 调及多态编程。正确使用字符串相关类(String、StringBuffer、StringTokenizer)、日期时间类(Date、 Calendar) Math 类、System类、BigI

2、nteger 类。另外,对于 ArrayList、Vecto、HashTable 等具有泛型特征的集合类,在理解其工作原理的基础上,能进行初步的编程和应用。二、实验环境操作系统: windows 2000 或 Window XP集成开发环境: JDK1.6 及以上版本三、实验学时2 学时,必做实验。四、实验内容(1) 进一步熟悉Java面向对象相关语法、熟练运用自定义异常处理、包、内部类 等相关面向对象深化语法编写程序( 2) 按要求编写相关算法程序五、实验步骤与结果(1) 改正以下程序中出现的错误,并进行注释说明import java.awt.*;public class Err015 ex

3、tends AppletReader 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

4、 class Readerint 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(initSal<0)System.out.println( “钱款不能为负数! ”);else balance=initSal;abstract String toString()Strin

5、g S;s="编号:"+readerNo+"| 姓名:"+readerName+"| 密码: "+pwd+"| 账户余额: "+balance; return s;class VIPReader extend ReaderVIPReader(int no,String name)this(name,no);public String toString()String s;s= super.toString();改正:import java.awt.*;import java.applet.*;/ 添包public

6、class Err015 extends AppletReader r1;VIPReader r2;/":"改为""public void init()r1=new Reader("zhang",1000);r1.setBalance(-50);r2=n ew VIPReader(2000,"wa ng");构造方法参数位置不对 r2.setBalance(100);public void paint(Graphics g) if(r1!=null)g.drawString(r1.toString(),20,100

7、);/String 改为 toString if(r2!=null)g.drawString(r2.toString(),20,130);;改为英文状态下的输入;class Reader/去掉 privateint readerNo;String readerName;String pwd;double balance;Reader( )balance=0;pwd="123456"数据与类型不匹配加""Reader(String name,int no)this();放在第一行readerNo=no;/去掉 thisreaderName=name;voi

8、d setBalance(double initSal)/缺少类型 voidif(initSal<0)System.out.println('钱款不能为负数!");/ “”英文状态下的输入""elsebalance=initSal;public String toString()/abstract 改为 publicStri ng s;大写改为小写s="编号:"+readerNo+"| 姓名:"+readerName+"| 密码: "+pwd+"| 账户余额: "+bal

9、ance;return s;class VIPReader extends Reade保留字 extends错误VIPReader(int no,String name)super(name,no);/this改为 superpublic String toString()String s;s= super.toString();return s;/缺少返回语句(2) 进一步 Java 自定义异常处理机制 。按以下要求完成相关程序 1 定义一个运动 员成绩类:(1) 用适当的数据类型定义 5 个成员属性:运动员编号、姓名、参加项目、成绩、所属单位; (2)适当定义 2 个构造函数;(3)定义不

10、少于 4 个对有 关属性进行适当操作的方法;(4)自定义 1 个异常,当成绩值为负数时抛出该异常; (5)编写一个测试程序验证该类的设计效果。import java.awt.*;class AtheletString number;String name;String sportitems; double grade;String unit;Athelet()number="12"n ame="王明"sportitems="800 米"grade=97;unit=" 淮海工学院 "public void setsp

11、ortitems(String newsportitems)sportitems=newsportitems;public String getsportitems()return sportitems;public void setgrade(double newgrade) throws aException if(newgrade<0)throw (new aException(); grade=newgrade;public double getgrade()return grade;public String toString()return"运动员信息是:"

12、;+numbe叶"|"+name+T+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.toSt

13、ring();Athelet a2=new Athelet();trya2.setgrade(-10);catch(aException e)System.out.println(e.toString();System.out.println(a2.toString();冋 C:indows'.systenn32cnnd.exe王!王- al数2!_ :1负:1续 白3能息健 信不養 员值员tt- 动绩动按 运成运请(3) 改正以下程序中出现的错误,并进行注释说明import java.awt.*import javax.awt.eve nt.*;public class Test e

14、xte nds AppletLabel prompt;TextFiled in put,output;Button btnok;public Test()prompt=new Label( “请输入一个整数:”);in put=n ew TextField(20);btnok=new Botton("求该数的平方"); add(prompt);add(i nput);add(output);add(bt nok);in put.addActi on Liste ner();setsize(500,400);public void action Performed(Acti

15、on Eve nt e)if(e.getSource()=in put)note.setText(input.getText();elsetest2 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.*;/ 添加包

16、public class Test exte nds Applet impleme nts Actio nListe ner添力卩接口 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(&quo

17、t; 求该数的平方 ");/Button 拼写错误add(prompt);add(input);add(output);add(btnok); input.addActionListener(this);/ 添加 thisbt nok.addActio nListe ner(this);/ 添加此行 setSize(500,400);/大小写public void actionPerformed(ActionEvent e)if(e.getSource()=input) output.setText(input.getText();note改为 output elsetest2 t=

18、new test2();int x=t.cal(l nteger.parsel nt(i nput.getText();/错误 output.setText("计算结果:"+x);/;的输入状态错误class test2/去掉 abstractstatic int i=0;int cal(int x)/ 去掉 privatei=x*x;return i ; /缺少返回语句(4) (选做)编写并调试运行如下程序,理解 JAVA 中内部类实现接口应用interface Animal void eat();void sleep();class Zoo private class Tiger implements Animal public void eat()System.out.println("tiger eat");public void sleep()System.out.println("tiger sleep");Animal g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论