ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:83.49KB ,
资源ID:14593345      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14593345.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java实验报告 继承多态接口和异常处理.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java实验报告 继承多态接口和异常处理.docx

1、Java实验报告 继承多态接口和异常处理实验5 继承、多态、接口和异常处理一、实验目的1、掌握Java的类和对象的声明和使用方法;2、掌握Java的类的继承和实现方法;3、掌握多态性在类的继承中的运用;4、掌握接口的定义与使用;5、掌握基本异常的处理机制; 6、熟悉try语句与catch语句的搭配使用; 7、了解有异常处理与没有异常处理的差别; 8、多重catch语句的使用;9、使用Throws声明异常和Throw抛出异常。二、实验环境1、PC微机;2、DOS操作系统或 Windows 操作系统;3、Java sdk程序开发环境、eclipse集成环境。三、实验内容1. 设计三个类,分别是学生

2、类Student,本科生类UnderGraduate,研究生类Postjgraduate,其中Student类是一个抽象类,它包含学生的基本信息如姓名、所学课程、课程成绩等,而Undergraduate类和Postgraduate类都是Student类的子类,这两个类计算课程成绩等级的方法有所不同,如下表所示。假设某班级里既有研究生又有本科生,编写程序统计出全班学生的成绩等级并打印出来。本科生标准研究生标准80100 优秀90100 优秀7080 良好8090 良好6070 一般7080 一般5060 及格6070 及格50以下 不及格60以下 不及格2. 设计实现一个Soundable接口,

3、该接口由三个类Radio、Walkman和Mobilephone具体实现,并设计一个应用程序类来使用这些类。3要求设计一个GUI图形窗口程序,该程序让用户输入一个星期中的任意一天的数字1-7,然后输出该数字所对应的是星期几。 四、实验步骤 实验内容一1.建立package experiment5_1,其最终目录结构如下:2.建立Student类:package experiment5_1;public abstract class Student final static int CourseNo = 3; String name; String type; int courses; Stri

4、ng courseGrade; public Student(String name) this.name = name; courses = new intCourseNo; courseGrade = ; public abstract void calculateGrade(); public String getName( ) return name; public String getType( ) return type ; public String getCourseGrade( ) return courseGrade; public int getCourseScore(i

5、nt courseNumber) return coursescourseNumber; public void setName(String name) this.name = name; public void setType(String type) this.type = type; public void setCourseScore(int courseNumber, int courseScore) /按课程索引号设置课程成绩 this.coursescourseNumber = courseScore ; 3.建立外部类(1)研究生类Postjgraduatepackage e

6、xperiment5_1;public class postgraduate extends Student public postgraduate(String name) super(name); type = 研究生; public void calculateGrade() / TODO Auto-generated method stub int total = 0; double average = 0; for (int i = 0; i =90&average=80&average=70&average=60&average70) courseGrade = 及格; else

7、courseGrade = 不及格; (2)本科生类UnderGraduatepackage experiment5_1;public class undergraduate extends Student public undergraduate(String name ) super(name); type = 本科生; public void calculateGrade() int total = 0; double average = 0; for (int i = 0; i =80&average=70&average=60&average=50&average60) course

8、Grade = 及格; else courseGrade = 不及格; 4.编写代码测试函数package experiment5_1;public class polymorphism public static void main(String args) Student students = new Student5; students0 = new undergraduate(陈建平); students1 = new undergraduate(鲁向东); students2 = new postgraduate(匡晓华); students3 = new undergraduate

9、(周丽娜); students4 = new postgraduate(梁欣欣); for (int i=0; i5 ;i+) studentsi.setCourseScore(0,87); studentsi.setCourseScore(1,90); studentsi.setCourseScore(2,78); for (int i=0; i5 ;i+) studentsi.calculateGrade(); System.out.println(姓名 + 类型 + 成绩); System.out.println(-); for (int i=0; i5 ;i+) System.out.

10、println(studentsi.getName( )+ + studentsi.getType( )+ + studentsi.getCourseGrade( ); 实验内容二1.建立package experiment5_2,其最终目录结构如下:2.写接口Soundable代码:package experiment5_2;public interface Soundable public void increaseVolume( ); public void decreaseVolume( ); public void stopSound( ); public void playSoun

11、d( );3.创建三个类Radio、Walkman和Mobilephone具体实现,分别添加代码:/ Mobilephone类package experiment5_2;class Mobilephone implements Soundable public void increaseVolume( ) System.out.println(增大手机音量); public void decreaseVolume( ) System.out.println(减小手机音量); public void stopSound( ) System.out.println(关闭手机); public vo

12、id playSound( ) System.out.println(手机发出来电铃声); / Walkman类package experiment5_2;class Walkman implements Soundable public void increaseVolume( ) System.out.println(增大随声听音量); public void decreaseVolume( ) System.out.println(减小随声听音量); public void stopSound( ) System.out.println(关闭随声听); public void playS

13、ound( ) System.out.println(随声听发出音乐); / Radio类package experiment5_2;class Radio implements Soundable public void increaseVolume( ) System.out.println(增大收音机音量); public void decreaseVolume( ) System.out.println(减小收音机音量); public void stopSound( ) System.out.println(关闭收音机); public void playSound( ) Syste

14、m.out.println(收音机播放广播); 4.创建people类及编写测试代码:/People类package experiment5_2;class People public void listen(Soundable s) s.playSound( ); /测试代码package experiment5_2;import java.util.Scanner;public class InterfaceTest public static void main(String args) int i; People sportsman = new People( ); Scanner s

15、canner = new Scanner(System.in); Soundable soundDevice = new Soundable3; /往声音设备数组中放入能发声的设备 soundDevice0 = new Radio( ); soundDevice1 = new Walkman( ); soundDevice2 = new Mobilephone(); System.out.println(你想听什么? 请输入选择:0-收音机 1-随声听 2-手机); i = scanner.nextInt( ); /开始听声音 sportsman.listen(soundDevicei); s

16、oundDevicei.increaseVolume( ); soundDevicei.stopSound(); scanner.close(); 实验内容三1.建立package experiment5_3,其最终目录结构如下package experiment5_3;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DateTransf extends JFrame implements KeyListener /* * */ private static final long seria

17、lVersionUID = 1L; private static DateTransf frm; private static JTextField txt; private static JTextField data; DateTransf() setTitle(数字与星期转换); setLocation(700, 300); setSize(400,130); public static void main(String args) frm = new DateTransf(); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fr

18、m.setLayout(new GridLayout(2,2); txt = new JTextField(12); data = new JTextField(12); JLabel lable1 = new JLabel(输入数字:); JLabel lable2 = new JLabel(星期几:); frm.add(lable1); txt.addKeyListener(frm); frm.add(txt); frm.add(lable2); frm.add(data); frm.setVisible(true); public void keyPressed(KeyEvent e)

19、if (e.getSource() = txt) if (e.getKeyCode() = KeyEvent.VK_ENTER) / 判断按下的键是否是回车键 try int number = Integer.parseInt(txt.getText(); switch (number) case 1:data.setText(Mon); break; case 2:data.setText(Tue); break; case 3:data.setText(Wen); break; case 4:data.setText(Thu); break; case 5:data.setText(Fri

20、); break; case 6:data.setText(Sat); break; case 7:data.setText(Sun); break; default: JOptionPane.showMessageDialog(null, 您输入的数字不是17,无效日期,JOptionPane.INFORMATION_MESSAGE); break; catch (Exception e1) / TODO: handle exception JOptionPane.showMessageDialog(null, 您输入的不是整数,无效日期,JOptionPane.INFORMATION_ME

21、SSAGE); public void keyReleased(KeyEvent e) public void keyTyped(KeyEvent e) 2.编译运行五、实验结果 实验内容一结果: 实验内容二结果: 实验内容三结果:六、实验小结1.这次实验的内容比较多,需要掌握Java的类和对象的声明和使用方法、Java的类的继承和实现方法、多态性在类的继承中的运用、接口的定义与使用、基本异常的处理机制、try语句与catch语句的搭配使用等等;2. 在实验过程中,重点是要区分好实例和类,灵活掌握类的调用。理解接口的含义;体会try语句和catch语句在逻辑上的优势;3.在实验过程中,刚开始分不清各个类之间的关系以及调用,后来专门花时间理解类和接口的含义,把这些弄明白之后,就比较既简单了。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2