《Java程序设计》课内实验指导书 (1).

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京理工大学珠海学院

计算机学院

《Java程序设计》课内实验指导书

撰写:赵卓君

2015年6月

目录

实验一:Java基本语法 (3)

实验二:面向对象编程 (4)

实验三:异常 (7)

实验四:util包和集合框架 (8)

实验五:io包和输入输出 (10)

实验六:GUI+JDBC编程 (12)

实验七:多线程 (16)

实验一:Java 基本语法

一、 实验目的:

熟悉Java 程序的结构,并能完成一些基本的算法操作。熟悉Java 程序的if-else 、switch-case 语句、循环语句以及数组的用法。

二、 实验要求:

1、 编写一个Java Application 程序,循环打印如下图所示图案:

【提示】可以将一个整数看成是ASCII 码,转换为对应的字符。如:

(char)65 得到ASCII 码65对应的字符“A ”

2、 编写一个Java 程序,接受用户输入的一个1~12之间的整数月份,利用switch 语句输

出对应月份的天数。(提示:在DOS

int month=Integer.parseInt(args[0]); //在程序中用该行代码获得输入的月份

3、 定义一个包含10个整数的数组,求该数组中的最大值、最小值、平均值与总和。

提示:在DOS 命令窗口里编译运行该程序,如图所示:

//获取命令行输入的10个整数

int[] ary=new int[10];

for (int i = 0; i

实验二:面向对象编程

一、实验目的:

熟练掌握类的创建与使用,理解封装与抽象的概念,理解信息隐藏以及4种访问控制修饰符的用法,熟练掌握构造方法的用法。

二、实验要求:

1.问题描述

狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸感到舒服的时候,会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声;

猫也生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。猫通常的时候和人打招呼会发出“喵~”的声音,在被抚摸情绪很好时,会发出“咕噜咕噜”声,而在受到惊吓时,会发出“嘶嘶”声;

青蛙是一种两栖动物(既是水生动物也是陆生动物),既不是哺乳类的也不是肉食性的,属于卵生。当青蛙情绪好的时候,会在岸边“呱呱呱”的唱歌,而在受到惊吓时,会“扑通一声跳入水中”

2.问题分析

首先需要抽取问题描述中对象

分析每个对象所具有的特征

分析每个对象所发出的动作

从这些对象的特征中,抽取类的属性和方法

分析类之间的关系,画出类结构图

3.抽象类和对象的基本方法:

抽取对象的基本的方法:找出句子中所使用的名词

例如:在句子“小猫喵喵叫”中,我们能够确定一个对象:猫;

确定对象发出的行为动作的基本的方法:找出句子中的动词

例如:“旺旺叫”、“喵喵叫”都属于对象发出的动作;

确定对象的属性或者特征的基本的方法:找出句子中的形容词

例如:“哺乳性的”、“肉食性的”、“卵生的”等等;

“是”的关系一般抽象为继承

例如:狗是一种动物,意味着:“狗”类继承自“动物”类;

“有”的关系一般抽象为类的属性

例如:动物都有情绪,意味着:“情绪”是“动物”类的一个属性;

4.类关系图

5.阶段划分

第一阶段:不考虑情绪影响动物打招呼的方式

⏹编写Animal类,没有mood属性,只有一种SayHello方法;

⏹编写Dog类、Cat 类和Frog 类,分别继承自Animal类,实现与Animal类不同的

功能;

⏹编写main方法,分别实例化以上三个类的三个对象,测试类方法实现的正确性; 第二阶段:考虑情绪影响动物打招呼的方式

⏹扩充Animal类、Dog类、Cat类和Frog类,增加Animal类的mood属性,并实现

sayHello 方法的多态性

⏹扩充main方法;

第三阶段:考虑陆生动物和水生动物

⏹定义LandAnimal接口和WaterAnimal接口;

⏹扩充Dog类、Cat类和Frog类,使其实现相应的接口;

⏹扩充main方法;

6.程序运行结果

三、总结

通过本次项目案例练习了面向对象的Java实现,基本囊括了面向对象的三大特征:封装、继承、多态

巩固的知识点

⏹Java基本的程序结构;

⏹类和对象;

⏹类的封装,包括修饰符的使用private/public/protected);

⏹抽象类、抽象方法(abstract关键字);

⏹final关键字;

⏹类的继承(extends关键字);

⏹接口的定义和实现(interface/implements关键字);

⏹多态;

实验三:异常

一、实验目的:

掌握Java异常的处理机制包括多重catch块的使用,理解掌握Java中自定义异常和断言的使用

二、异常处理

1、在以下给出Java代码基础上,添加异常处理机制的代码,使得代码在出现异常时能正

常结束程序的运行。

public class Lab4_1 {

public static void main (String[] args) {

float a[]=new float[5];

float sum=0;

for(int i=0;i

a[i]=Float.parseFloat(args[i]);

System.out.println ("第"+(i+1)+"门课程的成绩是:"+a[i]);

sum=sum+a[i];

}

System.out.println("总成绩是:"+sum);

float avg=sum/a.length;

System.out.println ("平均成绩是:"+avg);

}

}

(提示:使用多重catch块)

2、为一个公司编写一个奖金计算程序,用2010减去某位员工入职的年份来计算该员工的

在该公司工作的工龄,如果工龄为零,即当年才入职的员工,奖金为其一个月的工资;

如果工龄没超过3年,奖金为其月工资乘以1.3;如果工龄为3年以上5年以下,奖金为其月工资*1.5;如果工龄为5年以上,奖金为其月工资*2。计算公式如下:

工龄不足一年:奖金=工资

工龄不足3年:奖金=工资*1.3

工龄3年以上、5年以下:奖金=工资*1.5

工龄5年以上:奖金=工资*2

该程序需要入职的年份和月工资作为程序的输入数据,输出是该员工的奖金。如果输入的年份比2010年大或者是负数或无效的字符串,则抛出一个自定义异常(IllegalYearException),并输出“无效入职年份”;如果输入的工资低于500或负数或者抛出一个自定义异常(IllegalSalaryException),并输出“无效月工资”。因此该程序需要定义两个用户自定义异常。当有无效的入职年份或月工资数据输入时,程序显式抛出自定义异常。

相关文档
最新文档