面向对象程序设计实验指导书.doc
《面向对象程序设计实验指导书.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计实验指导书.doc(42页珍藏版)》请在咨信网上搜索。
《面向对象程序设计》 实验指导书 郭玉柱 广东商学院信息学院 二0一0 年 十二 月 目 录 实验一 Java基础实验 实验二 Java面向对象特性实验--Java中的类、对象和方法 实验三 类的继承、多态、接口、访问控制符与修饰符 实验四 Java资源及其运用 实验五 Java 语言的异常解决 实验六 输入输出流 实验七 图形用户界面设计 实验八 Java Applet及多线程实验 附录1 实验报告格式 实验一 Java基础实验 一、实验目的与规定 1. 学习编写简朴的Java程序。 2. 学习掌握Java基本数据类型及其基本运算。 3. 学习掌握Java 的基本流程控制语句。 二、相关知识 1. 了解JDK的工作环境,以及如何使用JDK进行编程。 2. 熟悉集成软件 eclipse3.5及其使用。 二、实验内容 1. 编写Hello.java程序并运营。 2. 用Java语言编写一个应用程序在屏幕上输出1000之内的素数。 3. 一个数假如恰好等于它的因子之和,这个数就称为“完数”,比如28=1+2+4+7+14。编写一个应用程序在屏幕上输出1000之内的完数。 4. 求满足1!+2!+3!+ …+n!≤9999的最大整数n 。 5. 一个三位的整数假如它的各位数字的立方之和等于这个三位数,就称此数为水仙花数,比如 ,编写一个应用程序在屏幕上输出所有水仙花数。 6. 下面程序的输出结果是什么? 实验二 Java面向对象特性实验-Java中的类、对象和方法 一、实验目的与规定 1. 掌握类的定义和使用。 2. 掌握对象的声明、创建和使用。 3. 掌握构造方法的定义和使用。 4. 掌握类方法(静态方法)和非类方法(非静态方法)的区别和使用。 5. 掌握成员变量和局部变量的区别和使用。 二、实验内容 1. 编写一个Java程序,定义一个表达学生的类,类名Student, 其成员变量有:学号、班级姓名、性别、年龄; 成员方法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄; 创建一个Student的对象,修改该对象的年龄,并输出该对象的年龄。 2.为Student类定义构造方法,用于初始化所有成员变量,增长一个方法toString(),它的返回值是String,其功能是把一个Student类的对象的成员变量信息组合成一个字符串 并输出。 3. 简述构造函数的作用和特点。下面是某同学为Student类编写的一个构造函数,请指出那些地方有错误: void Student(int sno, String sname){ studentNo=sno; studentName=sname; return sno; } 4. 编写一个日期类Date,规定: (1) 日期类 Date的成员变量有:year, month,day 都是int 型。 (2)日期类的方法有: 构造方法 Date(),日期的默认值为2023年1月1日; 构造方法 Date(int y,int m,int d),形参y,m,d分别为某个日期的年月日的初始值; 成员方法 int getYear():获取日期的年数作为方法的返回值; 成员方法 int getMonth():获取日期的月份作为方法的返回值; 成员方法 int getYear():获取日期的日作为方法的返回值; 成员方法 void showDate():已“****年**月**日”的形式显示一个日期。 5.下面四个程序分别有什么错误? public class ShowErrors{ public static void main(String arg[ ]){ ShowErrors t=new ShowErrors(); t.x(); } } public class ShowErrors{ public static void main(String arg[ ]){ ShowErrors t=new ShowErrors(5); } } (1) (2) public class ShowErrors{ public static void main(String arg[ ]){ C c=new C(5.0); system.out.println(c.value); } } class C{ int value=2; } public class ShowErrors{ public void method1(){ Circle c; System.out.println(“What is radius”+c.getRadius()); c=new Circle; } } (3) (4) 6. 下列代码有什么错误? 7. 下列程序的输出是什么? 8. 假设Foo类如下图(1)中定义,f是Foo的一个对象。图(2) 中的哪些语句是对的的? System.out.println(f.i); System.out.println(f.s); f.imethod(); f.smethod(); System.out.println(Foo.i); System.out.println(Foo.s); Foo.imethod(); Foo.smethod(); public class Foo{ int i; static String s; void imethod(){ } static void smethod(){ } } (2) (1) 9. 假如合适的话,在“?”处加入static关键字。 10. 是否能在静态方法中调用成员方法或引用成员变量?是否能在成员方法中调用静态方法或引用静态变量?下面代码的错误是什么? 11. 描述传递基本类型参数和传递引用类型参数的区别。写出下面程序的输出: 12. 写出下列程序的输出: 13. 写出下列四个程序各自的输出: 14. 下列程序的输出是什么? 15. 描述关键字this的作用,下列代码有什么错误? public class C{ int p; public void setP(int p){ p=p; } } 16. 编写名为Rectangle的类表达矩形,这个类涉及: ·一个double类型的数据域width和height表达矩形的宽和高,它们的默认值都为1; ·String类型的数据域color表达矩形的颜色,进一步假设所有矩形的颜色都是相同的,默认颜色为白色; ·无参构造方法创建默认矩形; ·一个构造方法创建指定width和height的矩形; ·所有三个数据域的访问器方法和修改器方法; ·getArea()方法返回该矩形的面积; ·getPerimeter()方法返回它的周长; 编写一个测试程序,创建两个Rectangle对象,设立第一个对象的宽为4,高为40,第二个对象的宽为3.5,高为35.9,所有Rectangle对象的颜色为红色。显示两个对象的属性并求它们的面积和周长。 17. 设计一个名为Fan的类模拟风扇。这个类涉及: ·三个常量SLOW,MEDIUM好FAST,其值分别为1,2,3,表达风扇的速度; ·int类型的数据域speed表达风扇的速度(默认值为SLOW); ·boolean型的数据域on表达风扇是否打开(默认值为false); ·double型的数据域radlus表达风扇的半径(默认值为5); ·string型的数据域color表达风扇的颜色(默认值为blue); ·无参构造方法创建默认风扇; ·所有四个数据域的访问器和修改器; ·toString()方法返回描述风扇的字符串。假如风扇打开,该方法用一个组合的字符串返回风扇的速度、颜色和半径;否则,用一个组合的字符串和“fan is off”一起返回风扇的颜色和半径。 编写一个测试程序,创建两个Fan对象,将第一个对象设立为最大速度,半径为10,颜色为 yellow,打开状态;第二个对象为中档速度,半径为5,颜色为blue,关闭状态。通过调用toString方法显示该两对象。 18. 设计一个名为Account的类模拟账户,它涉及: ·int型数据域id表达账号(默认值为0); ·double型数据域balance表达账户余额(默认值为0); ·double型数据域annualInterestRate存储当前年利率(默认值为0); ·Date型数据域dateCreated存储账户开户的日期; ·无参构造方法创建一个默认的账户; ·id,balance和annualInterstRate的访问器和修改器; ·dateCreated的访问器; ·getMonthlyInterestRate()方法返回月利率; ·withDraw方法从账户提取特定数额的款; ·deposit方法向账户存特定数额的款; 编写一个测试程序,创建一个账号为1122、余额为20 000、年利率为4.5%的Account对象。使用withDraw方法提款2500元,使用deposit方法存款3000元,并打印余额和月利率,以及该账户的开户日期。 19. 设计名为Stock的类模拟股票,该类涉及: ·string型数据域symbol表达股票代号; ·string型数据域name表达股票的名称; ·double型数据域preViousclosingPrice存储前一天的股票价格; ·double型数据域currentPrice存储当前时间的股票价格; ·一个构造方法根据指定的股票代号和名称创建股票; ·所有数据域的访问器方法; ·previousClosingPrice和currentPrice的修改器方法; ·changePercent()方法返回从previousClosingPrice变为currentPrice的比例; 编写测试程序创建Stock对象,其股票代号为SUNW、名称为Sun Microsystem Inc.、上期收盘价为100。设立新的当前价为90,显示价格变化比例。 20. 编写程序,输入年份,打印出该年的年历(12个月的),如下图所示。 提醒:使用Calendar类得到一个Calendar类对象,先求出输入年份的1月1日是星期几, 然后通过循环打印出每月的日历,注意大小月和闰月问题。 21. 设计名为Time的类。该类包含: ·数据域hour、minute和second表达时间; ·无参构造方法为当前时间创建Time对象; (数据域的值表达当前的时间) ·一个构造方法在指定以毫秒表达的、从1970年1月1日半夜开始已逝去的时间时,创建一个Time对象;(数据域的值表达该时间) ·三个 get方法分别获得数据域hou r,minute和second; 编写测试程序创建两个Time对象(使用new Time()和newTime()),并显示它们的小时、分钟和秒。 提醒:无参构造方法可以使用当前时间,当前时间可以通过System. currentTimeMillis()获得。此外一个构造方法为指定逝去的时间设立小时、分钟和秒的值。例如,假如逝去的时间毫秒,那么小时为10,分钟为19,秒为10 。 22. 设计名为MyInteger的类,它涉及: ·int型数据域value存储该对象表达的int值; ·一个构造方法,当指定int值时,创建MyInteger对象; ·一个get方法返回int的值; ·isEven(),isOdd()和isPrime()方法,假如这个值分别为偶、奇或素数,返回true; ·静态方法isEven(int),isOdd(int)和isPrime(int),假如指定的值分别为偶、奇或素数, 返回true; ·静态方法 isEven(MyInteger),isOdd(MyInteger)和isPrime(MyInteger),假如指定的值 分别为偶、奇或素数,返回true。 ·equals(int)和equals(MyInteger)方法,假如该对象的值与指定的值相等,返回true; ·静态方法parseInt(int)将字符串转变成int值。 编写用户程序测试该类中的所有方法。 23. 设计名为MyPoint的类表达一个具有x坐标和y坐标的点,该类涉及: ·两个数据域x和y表达坐标; ·无参构造方法创建点(0,0); ·一个构造方法根据指定坐标创建一个点; ·两个get方法分别得到数据域x和y; ·distance方法返回MyPoint类型的两个点之间的距离; ·distance方法返回从这一点到另一个指定x和y坐标的点之间的距离; 编写测试程序创建两个点(0,0)和(10,30.5),并显示它们之间的距离。 24. 请写出下列程序的输出结果 //程序名TestAB.java 25. 请写出下列程序的输出结果 ///程序名TestAB2.java 26. 设计名为Course的类,它涉及: ·3个成员变量:课程编号(cNnumber)、课程名(Cname)、学分数(Cuit) ·1个构造方法,用于初始化课程编号、课程名和学分 ·1个方法:printCourseInfo(),用于输出课程相关的信息 编写课程类的测试程序 27.下面程序定义了一个Student类及其测试程序,请给出程序运营的结果 //TestStudent.java 作业:1,2,16,17,18,19,21,23 实验三 类的继承、多态、接口、访问控制符与修饰符 一、实验目的与规定 1. 掌握继承和多态这两个面向对象程序的基本原则。 2. 理解interface关键字和接口的基本概念。 3. 理解abstract关键字,掌握抽象类和程序方法的设计技巧。 4. 理解 final关键字,掌握最终类和抽象类的区别和使用。 5. 理解static关键字,理解类的层次和对象层次的区别,掌握类变量和类方法的使用。6. 理解包的概念和使用。创建一个名为charpter3_2的包,将本实验的程序放入该包中。 二、实验内容 1. 设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。编写一个测试程序,创建一个Student类的对象,规定name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2. 写出下列程序运营结果 3.下列程序在编译时会出现什么问题? 4. 下列说法对还是错? (1)子类是父类的一个子集。 (2)当从子类调用构造方法时,它的父类的无参数构造方法也经常被调用。 (3)可以在子类覆盖定义在父类中额私有方法。 (4)可以在子类覆盖定义在父类中的静态方法。 5. 指出下列类中的问题。(提醒,至少有两个问题) 6. 写出下列程序运营的结果: 7. 在下列代码中,类A和类B在不同的包中。假如问号的位置用空白代替,类B能正常编译吗?假如问号的位置用private代替,类B能正常编译吗?假如问号的位置用protected代替,类B能正常编译吗? 8. 写出执行Test.java结果。 9. 写出执行Test1.java、Test2.java结果。 (1) (2) 10. 写出程序HidingDemo.java运营结果: 11. 判断下列说法的对错: ·终极类可以有实例。 ·终极类可以扩展。 ·终极方法可以被覆盖。 ·总可以成功地将子类的实例转换为父类。 ·总可以成功地将父类的实例转换为子类。 12. (Person、Student、Employee、Faculty和Staff类)设计名为Person的类和它的两个子类Student和Employee。Employee有子类Faculty、Staff。人有姓名、地址、电话号码和电子邮件地址。学生有班级状态(一年级、二年级、三年级或四年级),将这些状态定义为常量。职工有办公室、工资和受聘日期。定义名为MyDate的类,包含数据域year(年)、month(月)、day(日)。职工有办公时间和级别,职工有职务称号。 覆盖每个类中的toString方法显示相应的类名和人名。 编写测试程序,创建Person,Student,Employee,Faculty和Staff,并调用它们的toString()方法。 13. 定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 14. 定义一个类SA,该类有一个方法f():public int f(int 1,int b),该方法返回a和b的最大值。再定义该类的子类SB,规定子类重写父类的方法f,重写的方法将返回a和b的最小公倍数。 规定在重写的方法的方法体中一方面调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。规定在测试程序中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数。 15. 定义一个坐标类Pointer,成员变量涉及x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)toString()、equals() (4)类方法distance用来计算亮点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的中点。 16. 编写程序.定义类Vehlcles.属性涉及size、color、seats,尚有一个构造方法和一个显示信息的方法。然后从此类中派生Car类,其中涉及构造方法和显示信息的方法,并编写程序进行测试。 17. 编写个矩形类MyRectangle,其中涉及方法getHeigth(获得矩形的长度)、getWidth方法(获得矩形的宽度)、setHeigth方法(设立矩形的长度)、setWidth方法(设立矩形的宽 度)、getArea方法(求矩形的面积)和showlnfo方法(显示矩形的格式),从矩形类派生出一个子类Mysquare代表正方形,并对gctArea()方法和showinfo()方法进行重写。并编 写程序进行测试。 18. 主板上的PCI插槽就是显示中的接口,可以把声卡、显卡、网卡都插在PCI插槽上,而不用紧张那个插槽是专门插哪个的。编写程序实现这个原理。 19. 定义一个抽象类Area、两个Area的子类RectArea和RoundArea,以及一个实现类ImpleArea。规定如下 (1)抽象类Area类中只包含一个抽象方法double area()。 (2)子类RoundArea类通过覆盖父类中的抽象方法area()来求圆的面积,另一个子类RectArea类通过覆盖父类中的抽象方法area()求长方形的面积。 (3)圆的半径和长方形的边分别定义为子类RoundArea类和RectArea类的域,都为double娄型。 (4)ImpleArea类中创建对象,接受键盘输入,输入内容分别为圆的半径和长方形的边,并求出圆和长方形的面积,在屏幕上显示。 20.编写一个Animal类,包含: (1)属性:private String type。 (2)构造方法;用于初始化私有属性type。 (3)方法:public string toString(),用于返回动物类型的信息public void sound(),用于输出动物的叫声信息。 21.编写一个Flyable接口,包含: 方法:double flySpeed(),用于返回最大的飞行速度。 22.编写Giede(老鹰)类和Pigeon(鸽子)类,分别继承题16中的Animal类并实现20题中的F1yable接口。编写测试程序,显示输出老鹰和鸽子的叫声信息和最大飞行速度。 23.编码实现一个打印机监视器,其中涉及两个布尔型域“墨盒用尽”、“最后一次后打印过10万张纸”和一个方法“需要维修”。该方法在两个布尔型域中有一个为返回真。 24.编码实现温度类,其中涉及4个方法,其中getFahrenheit()和getCelsius()返回华氏和摄氏温度值,setFahrenhei ()和setCelsius()分别设立华氏和摄氏温度值。 25.编码实现地址簿类。每个对象中涉及“姓名”、“地址”、“电话”三个域,并为该类定义相应的get,set方法。 作业:15,16,17,20,21,22,25 实验四 Java资源及其使用 一、实验目的与规定 1. 理解Java标准库的结构。 3. 了解Java常用的包。 4. 掌握Object类的常用方法。 5. 掌握System类常用方法 6. 掌握Java的类库的一些基本类及使用,如System、Math、String和BufferString等。 7. 理解Java包装类的概念即使用。 二、实验内容 1. 设x,y是整型变量,d是双精度型变量,试书写表达式完毕下面的操作: (1) 求x的y次方。 (2) 求x和y的最小值。 (3) 求d取整后的结果。 (4) 求d四舍五入后的结果。 (5) 求atan(d)的数值。 2.写出下面程序运营结果,并解释之。 3.Math的random方法用来实现什么功能?语句(int)(Math.random()*6)+1的作用是什么?(1)编程生成100个1~6之间的随机数,记录1~6每个数出现的概率; (2)修改程序生成1000个随机数并记录概率;比较不同的结果并给出结论。 4.编程求一个整数数组的最大值、最小值、平均值和数组所有元素的和。 5.编写程序,从键盘上输入一个字符串和一个指定字符,把字符串中所有与指定的字符相同的字符删除后输出。 6.编写程序,从键盘上输入一个字符串和一个指定字符,记录字符串中出现指定字符次数并输出。 7.编写程序,将字符串“Let us study Java”转化为大写、转化成小写、把字符串中的空格用符号“#”替换,并分别输出。 实验五 Java语言的异常解决 一、实验目的与规定 1. 掌握Java的异常解决机制。 2. 掌握try、catch、throws和finally这5个关键字的用法。 3. 掌握成员的几个异常类。 4. 掌握自定义异常的使用。 二、实验内容 1.编写程序,从键盘上输入两个数。将第一个数除以第二个数并显示结果;解决所有也许的异常。 2.写出下面程序运营的结果: 3.写出下列程序的输出结果。 4.有下列程序: 若用下面方式执行该程序,则baz的值为( )。 java Test Red Green Blue (A)“” (B)null (C)"Red” (D)”BIue” (E)”Green” (F)代码不能编译 (G)程序抛出异常 5.有下列程序: 该程序的输出结果为( )。 (A)没有任何输出 (B)输出 “Finally” (C)编译错误 (D)抛出异常 6.有下列程序: 该程序的输出结果为( )。 (A)没有任何输出 (B)输出“Finally” (C)编译错误 (D)抛出异常 7.修改下列程序的错误之处。 8.写出下列程序的运营结果。 9.编写一个程序,规定从键盘输入一个double型的圆的半径,计算并精出其面积。 测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,如何解决。 10.编写一个应用程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打印出字符串参数。添加一个finally块并打印一条消息。 11.创建一个自定义的异常类,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法.令其打印出保存下来的String对泉。再编写一个类,在main()方法中使用try--catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常井打印出传递的String消息。 实验六 输入输出流 一、实验目的 1. 掌握Java语言中的输入输出流的基本概念。 2. 掌握Java语言中流的分类 3. 掌握常用的自截留和字符流类的使用。 4. 掌握RandomAccessFile类和File类的使用 二、实验内容 1.编写一个加密程序,对用户输入的字符串加密后输出。加密的方法是将每个字符映射成字母表中的对称字符。例如a相应z,b相应y,字符串“Java”加密后就成为“Qzfz”。 2.编写程序,将一个源文献的内容传输到一个目的文献中去。规定: (1)编写程序时,可以把它提成3个小的模块: ①指定要传送的文献途径; ②指定传送文献的目录途径; ③传送文献。 (2)本程序在运营时看不到运营的结果,若要看运营的结果,得打开资源管理器,打开传送的文献和被传送的文献,看这两个文献是否相同。 3.编写程序,可以列出指定目录下的所有文献,涉及子目录下的文献,并使用文献名过滤器来过滤文献。规定: (1)使用File类的list()方法返回该目录下所有文献的文献名,文献名不包含途径信息。 (2)使用File类的listFiles()方法返回该目录下的所有文献的File对象。 (3)FilenameFilter是文献名过滤器接口类,所有自定义的文献名过滤器必须实现该接口的accept()方法。 4.编写程序,可以在文献系统中创建文献和目录。规定: (1)所创建的文献和目录都是新的,且能生成临时文献。 (2)用File类的createNewFile()方法根据抽象途径创建一个新的空文档,当抽象途径指定的文献存在时,创建失败。 (3)用File类的mkdir()方法根据抽象途径创建目录。 (4)用File类的createTempFile()方法创建临时文献,可以指定临时文献的文献名前缀、后缀以及文献所在的目录,假如不指定目录,则存放在系统的临时文献夹下。 (5)以上方法在创建文献和目录时,必须保证目的文献不存在,并且父目录存在,否则会创建失败。 5.编写一个读文献的程序,它可以读二进制文献、文本文献等。规定最少以两种读文献的方 式实现,如按字符读取、按字节读取、随机读取、按行读取等方法。 实验七 图形用户界面设计 一、实验目的 1. 掌握GUI编程的基本概念。 2. 掌握基于Swing和AWT的图形用户界面的编程原理。 3. 理解容器和组件的概念,初步掌握事件编程的基本技巧。 4. 掌握Swing包中的基本组件和基本领件类。 5. 掌握常用布局管理器的使用。 二、实验内容 1.编写一个可以转换华氏温度和摄氏温度的程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。 2.编写程序,使得当按下鼠标时显示鼠标的位置。 3.编写程序,界面上涉及一个标签、一个文本框和一个按钮。当单击按钮时,程序把文本框中的内容复制到标签中。 4.编写满足下列规定的程序: (1)创建1个框架并将其内容窗格布局管理器设立为BorderLayout。 (2)创建2个面板并把它们添加到框架。 (3)每个面板包含3个按钮,面板使用BorderLayout布局管理器。 (4)单击按钮时,在控制台显示信息指明按钮被单击。 5.编写一个应用程序,实现如下图所示的图形界面.规定单击关闭按钮可以关闭窗口并结束程序运营。 6.编写一个应用程序,实现如下图所示的图形界面,规定单击按钮将窗口的背景颜色设立为相应的颜色。设立颜色可以调用容器的setBackground(Color c)方法,参数Color可以使用java awt.Color类的常量,如Color.RED等。 7.编写一个应用程序,其外观是一个框架窗口,窗口中放置一个多行文本框,下方放置3个按钮,3个按钮名分别为“OK”、“Cancel”、“Exit”,鼠标单击前两个按钮,在文本框中显示按钮上文字,单击“Exit”按钮,关闭并退出程序。 8.编写一个应用程序,实现如下图所示的图形界面。规定在文本框中输入有关信息,单击“OK”按钮,在下面的文本区域中显示信息,单击“Clear”按钮将所有数据清除,且规定单击关闭按钮可将窗口关闭。 9.编写一个如下图所示的简朴计算器程序,可以做加减乘除四则运算,涉及十个数字(0~9和小数点)按钮和(加、减、乘、除)按钮,以及等号和清空两个辅助按钮,尚有一个显示输入输出文本框。 10.编写一个类似于Windows记事本的程序,规定功能与其越接近越好。 实验八 Java Applet及多线程实验 一、实验目的 1. 掌握Java Applet程序的基本结构和编写方法,掌握使用getParameter() 方法提取Applet的参数值的方法。 2. 掌握继承Thread类和使用Runnable接口实现多线程的方法。 3. 掌握Runnable接口在Applet程序中的使用。 4. 理解线程同步的含义,掌握synchronized同步方法与synchronized同步语法的用法,学会使用Thread Group控制线程。 5. 理解线程的挂起与恢复的概念,掌握Wait()和 notify()方法的使用。 二、实验内容 1. 编写一个Java Applet,规定从HTML文献中传递三个整数,在小应用程序中以这三个整数创建一个Color对象,并将小程序的背景设立为该颜色。 2. 编写一个Java Applet,在窗口中拖拽鼠标画一个圆或椭圆。 3. 排序程序。编写一个多线程程序,先产生一个随机整数(大于10),在产生n个随机整数存放在数组中,然后创建两个线程并发地对所生成的随机整数分别进行排序。其中一个线程规定采用冒泡法排序,另一个线程规定采用快速排序法。最后比较这两个线程程序排序的结果,并输出先完毕排序的线程。 附录:实验报告格式 实验报告 课程名称: 面向对象程序设计 实验项目名称: 班级与班级代码: 实验室名称(或课室): 专 业: 软件工程 任课教师: 郭玉柱 学 号: 姓 名: 实验日期: 年 月 日 广东商学院教务处制 姓名 实验报告成绩 评价: 评 价 项 目 优 良 一般 差 实验任务是否明确 实验环节是否清楚详尽 实验任务是否完毕 实验结果是否对的 程序设计是否规范标准 版面整体效果是否美观 指导教师(署名) 年 月 日 说明:指导教师评分后,实验报告交院(系)办公室保存。 正文 实验报告规定与排版字号: 1.实验报告按实验项目填写,每个学生做完实验必须填写 2.实验报告可参照如下内容格式写作:实验目的、实验原理、实验设备、结果预测、实验环节、实验结果、实验分析、结论。 3.实验报告排版打印统一用A4(21 X 29.7cm)格式。 4.标题用小二号黑体加粗,正文用四号宋体。行距为固定值20磅。 5.页面上边距2.54cm,下边距2.54 cm,左边距3cm,右边距2.2mm; 6.实验报告页码从正文页面起计算。页码字号,选用小四号粗黑体并居中。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验 指导书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文