一有关java的第四次题_第1页
一有关java的第四次题_第2页
一有关java的第四次题_第3页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、一、【必做题】1. (1)定义一个人类 Person:1) 定义一个方法 sayHello(),可以向对方发出问候语"hello,my name is XXX ”2) 有三个属性:名字、身高、体重(2) 定义一个 PersonCreate 类:1) 创建两个对象,分别是zhangsan, 33 岁,1.73; lishi,44,1.742) 分别调用对象的sayHello()方法。(答案:Person.java、PersonCreate.java)2. ( 1)定义一个人类 Person:1) 定义一个方法 sayHello(),可以向对方发出问候语"hello,my na

2、me is XXX ”2) 有三个属性:名字、身高、体重3) 通过构造方法,分别给三个属性赋值(2) 定义一个 Constructor 类:1) 创建两个对象,分别是zhangsan, 33 岁,1.73; lishi , 44, 1.742) 分别调用对象的sayHello()方法。(答案:Constructor.java、或者是 Person3.java)3. (1)定义一个矩形类 Rectangle:1) 定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、 面积、周长。2) 有2个属性:长length、宽width3) 通过构造方法

3、Rectangle(int width, int length),分别给两个属性赋值 (答案: Recta ngle.java)4. 定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point() 和Point(int xO,yO),以及一个 movePoint (int dx,int dy )方法实现点的位置移动。5. 编写一个程序,创建两个Point对象p1、p2,分别调研 movePoint方法后,打印p1和p2的坐标。6. (1)定义一个动物类 Creature1) 定义一个方法setS narl(Cat cat)可以设置动物发出猫的声音2) setS na

4、rl(Dog dog)可以设置动物发出狗的声音3) 定义一个outPut()方法,可以输出动物的声音(2) 要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法sets narl(Cat cat)可以设置动物发出猫的声音(3) 要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法sets narlDog dog)可以设置动物发出狗的声音(4) 定义一个 Sou nd类,在main方法里调用 Creature类的setS narl()和outPut()方法分 别设置动物的声音和输出动物的声音效果显示:已1 终止Sound Java 应用程序

5、C: Prograni f LlesVjaaVjrelOfflig! I汪汪I7. 定义一个圆类 Circle,描述圆对象。圆有一个属性radius表示半径,还有一个findArea方法用于计算圆的面积。定义一个测试类。给半径赋值为5,并且输出圆的面积。&定义一个笔记本类,该类有颜色( char)和cpu型号(int)两个属性。(1)无参和有参的两个构造方法;(2)输出笔记本信息的方法然后编写一个测试类,测试笔记本类的各个方法。9. 定义一个汽车类 Vehicle,要求如下:(1)属性包括:汽车品牌brand( String类型)、颜色color (String类型)和速度speed(

6、 double 类型),并且所有属性为私有。(2 )至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。(3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。(4) 定义一个一般方法run(),用打印语句描述汽车奔跑的功能定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”颜色为“black”的汽车。10. 定义一个时间类,提供设定时间和显示时间的方法,其中设定时间的方法需要校验数据的正确性,并在 main方法中验证。11. 设计BOOK类,包括ISBN号(string )、书名(string )、作者(string

7、)以及表示是否 已借出的成员(bool)。创建返回这些成员的访问方法,以及借书还书的方法。12. 为图书馆创建一个 Patron类,包括读者姓名、图书证号以及借阅费用(如果欠费的话)。 创建访问这些成员的方法和设定借书费的方法。定义一个方法,返回一个布尔值。表示读者是否欠费。二、【选做题】1. 编写一个时间类 MyTime,包含一个构造方法,3个私有成员变量 hour,minute,second以 及与它们相对应的 get与set方法(如hour有getHour和setHour方法,分别表示获得和设置 hour),再加上一个转换成字符串的方法toString。2. 编写一个日期类 MyDate

8、,包含一个构造方法,3个私有成员变量year,month,day以及与 它们相对应的get与set方法,再加上一个转换成字符串的方法toString。3. 编写一个FullTime类,包含一个 MyTime类型的私有成员变量 time和一个MyDate类型的成员变量date,以及与它们相对应的get与set方法,一个构造方法,再加上一个转换成字符串的方法toStri ng。4. 假设当前时间是 2002年7月30日22点12分35秒,编写一个程序,用 FullTime类设 置时间为以上时间,并打印。5. 设计一个类Stude nt,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的 顺

9、序输出姓名、学号和成绩信息。I .选择题1、给定下列代码:_ class super (2 . pxiblic float getNum () return 3 T Of; 3-)4.5. public class Sub extends Super 6*7.)当在第6行加入什么方法时会引起编译错误?A. Public float getNiim() reumi 4.0£ B* Public void gerNuin () C. Public void getNuin (double d) D Public double getNuin (floar d) remm 4,0f:2、给

10、定以下代码:1 interface Beta 2,3» class Alpha implements Beta 4. String testlt()5 . return Tested;7. )B.编译失败D.运行时抛出异常8.10,staticBeta getlt()11.returnnew Alpha(;12.13.publicstatic void main( String14.Bets b二 get It );15.System ”。口t.println( b.testlt();16,17.9* public class Mainl args执行后的结果是?A.打印字符串“es

11、ted ”C.代码运行成功但无输出3、给定以下代码:丄...1011121314151617interface Beta class Alpha. imp丄巳mmnts Beta String testlt ()return Tested;public class Mainl static Beta getlt(rwturn new Alpha();public static void main( String args Beta b = getlt();( b.testzt();执行后的结果是?A.打印字符串 “ TestedC.代码运行成功但无输出B.编译失败D

12、.运行时抛出异常4、MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语 句定义这个变量?()A. public int MAX_LENGTH=100;B. final int MAX_LENGTH=100;C. final public int MAX_LENGTH=100;D. public final int MAX_LENGTH=100.5、给出以下代码,请问该程序的运行结果是什么?1. class A static void foo(int i ) ;2. class B exte nds A void foo( int i );A第1行编译错误。B第

13、2行编译错误。C代码编译成功。/静态方法不能被重写6、给定下面代码:public void example()try un safe();System.out.pri ntl n("Test 1");catch(Excepti on e)System.out.pri ntl n("Test 2"); fin allySystem.out.pri ntln( "Test 3");System.out.pri ntln( "Test 4");如果方法unsafe()运行正常,哪个结果不会被显示出来?A. Test 1

14、B. Test 2 C. Test3 D. Test 47、有关类的说法正确的是()A .类具有封装性,所以类的数据是不能被访问的B .类具有封装性,但可以通过类的公共接口访问类中的数据C. 声明一个类时,必须使用public修饰符D. 每个类中必须有main方法,否则程序无法运行8、将类的访问权限设置为默认的,则该成员能被()A. 同一包中的类访问B.其他包中的类访问C.所有的类访问D.所有的类的子类访问9、 假设下面的程序代码都放在MyClass.java文件中,()程序代码能够编译通过。A. import java.awt.*;package mypackage;calss MyClas

15、s B. package mypackage;import java.awt.*;public class myClass C. int m;package mypackage;import java.awt.*;class MyClass D. /*This is a comment*/package mypackage;import java.awt.*;public class MyClass 10、 假设在java源程序文件"MyClass.java ”中只含有一个类,而且这个类必须能够被位于 一个庞大的软件系统中的所有java类访问到,那么下面(C )声明有可能是符合要求的

16、类声明。A . private class MyClass extends ObjectB. public class myclass extends ObjectC. public class MyClassD. class MyClass exte nds Objectn .程序分析题1、分析并完善如下程序,并写出最后执行结果:class Pers onString name="zhangsan"int age=18;double height =1.75;public Pers on() System. out.println("Person()"

17、);public Pers on( Stri ng n) System. out.println("Person(String n)");n ame= n;public Person(String n, int a,double h) System. out.println( "Person(String n,int a,double h)");n ame= n;age=a;height =h;public void sayHello() System. out.println("Hello!");class Student4 ext

18、ends Persondouble score =0;public Stude nt4() ("aa",10);System. out.println( "Student()");public Student4(String n, double s) (n);score =s;System. out.println("Student(String n,double s)");public Student4(String n, int a,double h,double s) (n ,s);age=a;height =h;score =

19、s;System. out.println( "Student(String n,int a,double h,double s)");public void study() score+;public void sayHello() .sayHello();System. out.println("Hello, teacher!"); int i = this.age;int j = super.age;public static void main(String args)Stude nt4 s4 = new Stude nt4(); .sayHel

20、lo();2、找出程序中的错误,并说明原因:public class Fin alVarfinal int y=100;final int x1;public Fi nalVar() x1=1;public static void main( Stri ng args) final int z=0;public void aa()Fin alVar.add(1);public static void add(fi nal int x2) x2+;3、 找出程序中的错误,并说明原因:( final class FinalClasspublic void add( int x) x+;public

21、 class SubFinalDemo extends FinalClass public void add( int x) x+=2;4、找出程序中的错误,并说明原因:class Fin alClasspublic final void add(i nt x)x+;public class SubF in alDemo exte nds Fin alClass public void add(i nt x) x+=2;m .编程题1、如下两个类之间存在一定的联系,请用面向对象的特性实现类及其关系:Person: Strir>g (Stage : int 至height: doubleP

22、ersonQ >sayHello)Student name : String age : int -height; double 'scorE : doubleStudentO study () say Hello 仆2、设计四个类,分别是:(1) Shape表示图形类,有面积属性 area、周长属性per,颜色属性color, 有两个构造方法(一个是默认的、一个是为颜色赋值的),还有3个抽象方法, 分别是:getArea计算面积、getPer计算周长、showAll输出所有信息,还有 一个求颜色的方法getColor。(2)2个子类:1) Rectangle表示矩形类,增加两个

23、属性, Width表示长度、height表示宽 度,重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一 个是默认的、一个是为高度、宽度、颜色赋值的)。2)Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea 和showAll三个方法,另外又增加两个构造方法(为半径、颜色赋值的)。(3)一个测试类PolyDemo,在main方法中,声明创建每个子类的对象,并 调用2个子类的showAll方法。3、定义一个汽车类 Vehicle,要求如下:(a) 属性包括:汽车品牌brand (String类型)、颜色color (Strin

24、g类型)和速 度 speed ( double 类型)。(b)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但 速度的初始值必须为0)。(c)为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。(d)定义一个一般方法run(),用打印语句描述汽车奔跑的功能定义测试类VehicleTest,在其main方法中创建一个品牌为“benz?颜色为“black 的汽车。4、定义一个Vehicle类的子类轿车类Car,要求如下:(a)轿车有自己的属性载人数loader (int类型)。(b)提供该类初始化属性的构造方法。(c)重新定义run(),用打印语句描述轿车奔跑的功能。5、定

25、义一个Vehicle类的子类卡车类Truck,要求如下:(a)卡车有自己的属性有载重量 payload ( double类型)。(b)提供该类初始化所有属性的构造方法。(c)重新定义run(),用打印语句描述卡车奔跑的功能。定义测试类Test,在其main方法中创建一个品牌为“Honda】颜色为“red,”载 人数为2人的轿车。6、设计一个抽象类 CompareObject,里面有抽象方法 compareTo用于比较两 个对象。然后设计一个类 Position从CompareObject派生,有x和y属性表示 其坐标,该类实现compareTo方法,用于比较两个对象距离原点(0,0)的距 离之

26、差。文学系:演讲,作品,期末考试,期中考试英语系:演讲,期末考试,期中考试;计算机系:操作能力,英语写作,期中考试,期末考试;各系总分评测标准:英语系:7、编写三个系别的学生类:英语系,计算机系,文学系(要求通过继承学生类)各系有以 下成绩:演讲50%期末考试25%期中考试25%计算机系:文学系:操作能力 40%英语写作20%期末考试 20%期中考试 20%演讲 35%作品 35%期末考试 15%期中考试15%定义一个可容纳 5个学生的学生类数组,使用随机数给该数组装入各系学生的对象,然后按如下格式输出数组中的信息: 学号:XXXXXXXX 姓名:XXX 性别:X 年龄:XX 综合成绩:XX&

27、amp; 实现一个名为 Person的类和它的子类 Employee , Manager是Employee 的子类,设 计一个接口用于涨工资,普通员工一次能涨10 %,经理能涨20 %。具体要求如下:(1) Person类中的属性有:姓名 name (String类型),地址address (String类型)并写 出该类的构造方法;(2) Employee 类中的属性有:工号 ID (String型),工资 wage ( double类型),工龄(int 型),写出该类的构造方法;(3) Manager类中的属性有:级别level (String类型),写出该类的构造方法;编写一个测试类,产

28、生一个员工和一个经理并输出其具有的信息。9、利用接口实现动态的创建对象:(1) 创建4个类1苹果2香蕉3葡萄4园丁(2 )在三种水果的构造方法中打印一句话以苹果类为例class applepublic apple()System.out.pri ntl n(创建了一个苹果类的对象”);(3)类图如下:(4) 要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象。运行结果如图:-Java 一 test, java 一 Eclipse SDKfriobleasJavidoe.Dtcltf tti on.ermi!iated> testJava Applj call o&

29、gt; C: Progr创逮了一卜苹果的对魚File Edi t Source Refactor Rawi 胃at 皂 Sear cl10、Cola公司的雇员分为以下若干类:(1) ColaEmployee:这是所有员工总的父类,属性:员工的姓名,员工的生日月份。方法:getSalary(i nt mo nth)根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励 100元。(2) SalariedEmployee :ColaEmployee 的子类,拿固定工资的员工。属性:月薪(3) HourlyEmployee : ColaEmployee的子类,按小时拿工资的员工,每月工作超出1

30、60小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数(4) SalesEmployee : ColaEmployee的子类,销售人员,工资由月销售额和提成率决属性:月销售额、提成率(5) 定义一个类Company ,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种类型的员工放在一个ColaEmployee 数组里,并单元出数组中每个员工当月的工资。11、Person类,如下图:两个测试类,访问该 Person类,要求(1) TestMain 和 Person 在相同包中 test2 中(2) Te

31、stMain 在包 test1 中,Person 在包 test2 中PersonSj/name : StringSJ/age : intheight: doublePersonf)sayHell<X)12、修改原来的Person类,将其进行良好的封装一必做题6 package miaogou;public class Animal String n ame;String color ;Animal(String n, String c) n ame = n;color = c;public void enjoy() System. out .println(” 动物的叫声。”);pub

32、lic class cat extends Animalcat(Stri ng n ame,Stri ng color)super (name,color);public void enjoy()System. out .println("猫的叫声:喵喵”);public class dog extends Animal dog(String name,String color)super (name,color);public void enjoy()System. out .println( ” 狗的叫声:汪汪”); publicclassPers on An imala;pub

33、licvoidplay(A ni mal a)a.enjoy();public class Text public static void main( Stri ng args) cat a = new cat( "lsw" , "black" ); Pers on b =new Pers on();b.play(a);dog c= new dog( "zhj" , "black" ); b.play(c);12public class asw /*为图书馆创建一个Patron类,包括读者姓名、图书证号以及借阅费用

34、(如果欠费的话)*创建访问这些成员的方法和设定借书费的方法。定义一个方法,返回一个布尔值。表示 读者是否欠费。*/public staticvoid main( Stri ng args) Patron a= new Patron("zhj" , "1221" ,0);a.A( "zhj" , "1221");a.B();a.C();class PatronStringn ame;String number;boolea n T;int mon ey;Patron( Stri ng n ame,Stri ng nu

35、 mber,int mon ey)this . name=name;this . number =number;this . money=money;public void A(String n,String num)if ( name=n&&number =num)System. out .println( ” 存在 ” +name+"的信息”);public void B()if ( T=true &&money>=0) mon ey=mon ey-1; System. out .println( System. out .println(e

36、lse System. out .println(name+"还剩" + money+"元钱”); name+"还可以借"+money+"本书! ”);name+"不可以借书!");public void C()if ( money>0)System. out .println( else if (money=0)System. out .println( else System. out .println(二选做题name+"未欠费! ”);name+"的钱为零! ”);name+&qu

37、ot;已欠费! ”);1 package Beat;publicclasstime *编写一个时间类MyTime , 包含个构造方法,3个私有成员变量hour,m inu te,sec ond* 以及与它们相对应的 get与set方法(如hour有getHour和setHour方法* ,分别表示获得和设置hour ),再加上一个转换成字符串的方法toString*/public static void main( Stri ng args) Mytime a = new Mytime(3, 12, 36);System. out .println(a.toString();class Myti

38、me privateinthour ;privateintminute ;privateintsecond ;Mytime(inth, int m, int s) this . hour = h; this . minute = m; this . second = s;public int getHour() return hour ;publicvoid setHour( int hour) this.hour = hour;public int getMinute() return minute ;public void setMinute(int minute) this . minu

39、te = minute;public int getSecond() returnsecond ;public void setSecond(int second) this . second = second;public Stri ng toStri ng() return hour +":" +minute +":" +second ;2 package zhj;public class as /*year,m on th,day*编写一个日期类 MyDate,包含一个构造方法,3个私有成员变量以及与它们相对应的get与set方法,*再加上一个转换

40、成字符串的方法toStri ng。*/public static void main( Stri ng args) Mydate a = new Mydate(2012, 5, 7); System. out .println(a.toString();class Mydate privateint year ;privateint mon th ;privateint day;Mydate(int y, int m, int d) this.year = y;this.mon th = m;this.day = d;public int getYear() returnyear ;publi

41、c void setYear( int year) this . year = year;public int getMonth() return month ;this . mon th = mon th;public int getDay() return day;public void setDay( int day) this . day = day;publicStri ng toStri ng() return year + "年"+ month + "月 ” + day + "日" class Mytime private int

42、 hour ;private int minuteprivate intsecond ;Mytime( int h, intm, int s) this.hour = h;this.minute =m;this.second =s;public int getHour() return hour ;publicvoid setHour( int hour) this.hour = hour;public int getMinute() return minute ;public void setMinute(int minute) this . minute = minute;returnse

43、cond ;public void setSecond(int second) this . second = second;public Stri ng toStri ng() return hour +":" +minute +":" +second ; class Mydate privateintyear ;privateintmonthprivateintday;Mydate( int y, int m, int d) this . year = y;this . month = m;this . day = d;public int getY

44、ear() returnyear ;public void setYear( int year) this . year = year;public int getMonth() return month ;public void setM on th(int mon th) this . mon th = mon th;public int getDay() return day;this . day = day;public Stri ng toStri ng() return year + "年"+ month + "月 ” + day + "日&

45、quot; package timedate;public class FullTime privateMytimetime ;privateMydatedate ;FullTime(Mydate d,Mytime t)date =d;time =t;public Mytime getTime() return time ;public void setTime(Mytime time) this . time = time;public Mydate getDate() return date ;public void setDate(Mydate date) this . date = d

46、ate;public String toStri ng() return date +"的"+time ;public class Text public static void main( Stri ng args) Mytime a = new Mytime(3, 12, 36);Mydate b= new Mydate(2012,5,7);FullTime c= new FullTime(b,a);System. out .println(c.toString();4package timedate;publicclass Mydate privateintyear

47、;privateintmonthprivateintday;Mydate( int y, int m, int d) this.year = y;this.mon th = m;this.day = d;public int getYear() returnyear ;public void setYear( int year) this . year = year;public int getMonth() return month ;public void setM on th(int mon th) this . mon th = mon th;public int getDay() r

48、eturn day;public void setDay( int day) this . day = day;"+ day + "日”;public Stri ng toStri ng() return year + "年"+ month + "月 package timedate;public class Mytime privateinthour ;privateintmi nuteprivateintsecondMytime( int h, int m, int s) this.hour =h;this.minute=m;this.se

49、cond=s;public int getHour() return hour ;public void setHour( int hour) this . hour = hour;public int getMinute() returnminute ;public void setMinute(int minute) this . minute = minute;public int getSecond() returnsecond ;public void setSecond(int second) this . second = second;publicStri ng toStri

50、ng() return hour +":" +minute +":" +second ; package timedate;public class FullTime privateMytimetime ;privateMydatedate ;FullTime(Mydate d,Mytime t)date =d;time =t;public Mytime getTime() return time ;public void setTime(Mytime time) this . time = time;public Mydate getDate() re

51、turn date ;public void setDate(Mydate date) this . date = date;public String toStri ng() return date +"的"+time ; package timedate;public class Text public static void main( Stri ng args) Mytime a = new Mytime(22, 12, 35); Mydate b= new Mydate(2002,7,30); FullTime c= new FullTime(b,a); Syst

52、em. out .println(c.toString();5 package Student;public class stude nt int num;Stringn ame;double score ;stude nt(int num, String n ame,double score) this.num =num;=n ame;this.score=score;public void A() System. out .println( ” 学号:” + num + "t 名字:” + name + "t 成绩:"+ score );pa

53、ckage Student;public class text public static void main( Stri ng args) stude nt a=new stude nt3;a0=new stude nt(O1,"zhj",94);a1=new student(02,"lsw",98);a2=new student(03,"adw",99);for ( int j = 0; j < a.len gth ; j+) for (int i = 0; i < a.length - 1; i+) if (ai. score < ai + 1. score ) stude nt b = ai;ai = ai + 1;ai + 1 = b;for (int i=0;i<a. length ;i+)ai.A();二选择题1

温馨提示

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

评论

0/150

提交评论