第五章题库答案_第1页
第五章题库答案_第2页
第五章题库答案_第3页
第五章题库答案_第4页
第五章题库答案_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、一、选择题1 定义类头时,不可能用到的关键字是( b)。 a) class b)private c)extends d)public2.下列类定义中,不正确的是(c)。a) class x . b) class x extends y . c) static class x implements y1,y2 . d) public class x extends applet . 3.下列类头定义中,错误的是( a)。 a)public x extends y . b) public class x extends y . c)class x extends y implements y1 .

2、 d)class x .4.设 a为已定义的类名,下列声明a类的对象a的语句中正确的是( d)。 a) float a a; b) public a a=a( ); c) a a=new int( ); d) static a a=new a( );5.设 a为已定义的类名,下列声明a类的对象a的语句中正确的是(a)。 a) public a a=new a( ); b) public a a=a( ); c) a a=new class( ); d) a a;6.设 x 、y 均为已定义的类名,下列声明类x的对象x1的语句中正确的是(c)。 a) public x x1= new y( );

3、 b) x x1= x ( ); c) x x1=new x( ); d) int x x1;7. 设x 、y为已定义的类名,下列声明x类的对象x1的语句中正确的是(a)。 a) static x x1; b) public x x1=new x(int 123); c) y x1; d) x x1= x( );8.通过类myclass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: _。 (myclass obj=new myclass( );)9. 设i , j为类x中定义的int型变量名,下列x类的构造方法中不正确的是( a)。 a) void x(int k )

4、i=k; b) x(int k ) i=k; c) x(int m, int n ) i=m; j=n; d) x( )i=0;j=0; 10. 有一个类a,以下为其构造方法的声明,其中正确的是( a )。 a)public a(int x). b)static a(int x). c)public a(int x). d)void a(int x).11. 有一个类a,以下为其构造方法的声明,其中正确的是( b )。 a)void a(int x). b)a(int x). c)a(int x). d)void a(int x).12. 设i、j、k为类x中定义的int型变量名,下列类x的构

5、造方法中不正确的是( b )。 a) x( int m) . b) void x( int m) . c) x( int m, int n) . d) x( int h,int m,int n) . 13. 设i , j为类x中定义的double型变量名,下列x类的构造方法中不正确的是(a )。 a) double x(double k ) i=k; return i; c) x( )i=6;j=8; b) x(double m, double n ) i=m; j=n; d) x(double k ) i=k; 14. 设a , b为类myclass中定义的int型变量名,下列myclass

6、类的构造方法中不正确的是(a)。a) double myclass(double k ) a=k; return a; b) myclass( )a=6;b=8; c) myclass (double m, double n ) a=m; b=n; myclass (double k ) a=k; 15 定义类头时,不可能用到的关键字是(a)。 a)protected b) class c)extends d)public16.下列类头定义中,错误的是(a)。 a)public testclass extends y . b) public class testclass extends y

7、. c)class testclass extends y implements y1 . d) class testclass .17.设 b为已定义的类名,下列声明b类的对象b的语句中正确的是(d)。 a) float b b; b) public b b=b( ); c) b b=new int( ); d) static b b=new b( );18.设 classa为已定义的类名,下列声明classa类的对象ca的语句中正确的是(a)。 a)public classa ca=new classa( ); b) public classa ca=classa( ); c) class

8、a ca=new class( ); d) ca classa;19.设 a 、b 均为已定义的类名,下列声明类a的对象a1的语句中正确的是(c)。 a) public a a1= new b( ); b) a a1= a ( ); c) a a1=new a( ); d) int a a1;20. 设a 、b为已定义的类名,下列声明a类的对象a1的语句中正确的是(a)。 a) static a a1; b) public a a1=new a(int 123); c) b a1; d) a a1= a( );21.通过类a中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现: _

9、。 (a a=new a( );)22. 设m , n为类a中定义的int型变量名,下列a类的构造方法中不正确的是( a)。 a) void a(int k ) m=k; b) a(int k ) m=k; c) a(int m, int n )m=i; n=j; d) a( )m=0;n=0; 23. 有一个类person,以下为其构造方法的声明,其中正确的是( a )。 a)public person (int x). b)static person (int x). c)public a(int x). d)void person (int x).24. 有一个类student,以下为其

10、构造方法的声明,其中正确的是( b )。 a)void student (int x). b) student (int x). c)s(int x). d)void s(int x).25. 设i、j、k为类school中定义的int型变量名,下列类school的构造方法中不正确的是( b )。 a) school ( int m) . b) void school ( int m) . c) school ( int m, int n) . d) school ( int h,int m,int n) . 二、填空题1.下面是一个类的定义,请完成程序填空。(myclass int j)pu

11、blic class _ int x, y; myclass ( int i, _) / 构造方法 x=i; y=j; 2. 下面是一个类的定义,请将其补充完整。(student string)class _ string name;int age;student( _ s, int i) name=s; age=i; 3.下面是一个类的定义,请将其补充完整。(myclass static)class _ / 定义名为myclass的类 _ int var=666; static int getvar() return var; 4.下面程序的功能是通过调用方法max()求给定的三个数的最大值

12、,请将其补充完整。(max(i1,i2,i3) static)public class class1 public static void main( string args ) int i1=1234,i2=456,i3=-987; int maxvalue; maxvalue=_; system.out.println("三个数的最大值:"+maxvalue); public _ int max(int x,int y,int z) int temp1,max_value; temp1=x>y?x:y; max_value=temp1>z?temp1:z;

13、return max_value; 5.下面是一个类的定义,请将其补充完整。(class static)_ a string s; _ int a=666; a(string s1) s=s1; static int geta( ) return a; 6.下面是一个类的定义,请完成程序填空。(room int n)public class _ int a, b; room ( int m, _) / 构造方法 a=m; b=n; 7. 下面是一个类的定义,请将其补充完整。(class string)_ teacher string name;int age;teacher ( _ s, in

14、t i) name=s; age=i; 8.下面是一个类的定义,请将其补充完整。(desk static)class _ / 定义名为desk的类 _ int var=666; static int getvar() return var; 9.下面程序的功能是通过调用方法max()求给定的二个整数的最大值,请将其补充完整。(max(a1,a2) int)public class class1 public static void main( string args ) int a1=1234,a2=456; int maxvalue; maxvalue=_; system.out.print

15、ln("二个数的最大值:"+maxvalue); public static _ max(int x,int y) int max_value; max_value =x>y?x:y; return max_value; 10.下面是一个类的定义,请将其补充完整。(class static)_ bank string s; _ int a=666; bank(string s1) s=s1; static int geta( ) return a; 三、程序阅读题1.下面是一个类的定义,根据题目要求回答以下问题.class bprivate int x; privat

16、e char y;public b(int i,char j)x=i; y=j;public void show()system.out.println("x="+x+" y="+y);public void methodc(int x)this.x=this.x+x; y+;show();(1)定义类b的一个对象b,将类中的变量x初始化为10、变量y初始化为a,请写出相应的语句。(b b=new b(10,a);)(2)若在(1)问基础上有方法调用语句:b.show();则输出如何?(x=10; y=a)(3)若在(1)问基础上增加语句: b.meth

17、odc(1); 则输出为何?(x=11; y=b)(x=11; y=b)2.阅读程序,回答问题。 public class test52 string static str1="hello, java world! t" string static str2="hello, students! " public static void main(string args) system.out.print(str1); system.out.println(str2); 问题:1)这是哪种形式的 java 程序 ?(java应用程序) 2)程序的输出是什么

18、? (hello, java world!hello, students! )3. 写出下列程序的输出结果public class testpublic static void main(string args)count mycount = new count();int times = 0;for(int i=0;i<100;i+)increment(mycount , times);system.out.println(“count is” + mycount.count);system.out.println(“time is”+ times);public static voi

19、d increment(count c , int times)c.count+;times+;class countpublic int count;count(int c)count =c;count()count =1;答案:count 101times 04.写出下列程序的输出结果:public class testpublic static void main(string args)cirecle circle1 = new circle(1);cirecle circle2 = new circle(2);/ attempt to swap circle 1 with circl

20、e2system.out.println(“before swap:circle1 = ”+circle1.radius+”circle2 = ”+circle2.radius);swap(circle1,circle2);system.out.println(“after swap: circle1 = ”+circle1.radius+”circle2 = ”+circle2.radius);public static void swap(circle x , circle y)system.out.println(“before swap: x = ”+x.radius+”y = ”+y

21、.radius);circle temp = x;x = y;y = temp;system.out.println(“before swap: x = ”+x.radius+”y = ”+y.radius);答案:5.阅读下面程序,回答问题:public class fooint i;static string s;void imethod()static void smethod()设f是foo的一个实例,下列语句正确吗?system.out.println(f.i);system.out.println(f.s);f.imethod();f.smethod();system.out.pr

22、intln(foo.i);system.out.println(foo.s);foo.imethod();foo.smethod();答案: 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();答案: 正确6.下列程序的输出结果是什么?public class f

23、oostatic int i=0;static int j=0;public static void main(string args)int i=2;int k=3;int j=3;system.out.println(“i + j is ”+ i + j);k = i +j;system.out.println(“k is ”+k);system.out.println(“j is ”+ j);答案:i + j is 23k is 2j is 07. 根据下面的程序,指出下面每个元素的作用域(类作用域或块作用域)a) 变量xb) 变量yc) 方法cuded) 变量 ie) 变量 yposp

24、ublic class cubetest int x;public void print()int ypos = 10;for(x=1;x<=10;x+) system.out.println(cude(x); for(int i=1;i<=ypos;i+) system.out.println(" "); public int cude (int y) return y*y*y; 答案:a) 变量x : 类作用域b) 变量y : 块作用域c) 方法cude : 类作用域d) 变量 i : 块作用域e) 变量 ypos : 块作用域四、简答题1. 面向对象的软件

25、开发方法用什么把数据和基于数据的操作封装在一起?(类)2. 在一个类定义中,用什么描述对象的状态? 用什么描述对象的行为?(属性;方法)3. 什么方法是一个特殊的方法,用于对对象进行初始化? (构造方法)4. 一个源程序文件中,能有多于一个的 public 类吗?(不能)5. 构造方法的方法名可由编程人员任意命名吗? (不能,必须与类名同名)6. 类的构造方法名必须和类名相同吗?(必须)7. 构造函数有返回值吗?(没有)8. 构造函数可以重载吗? (可以)9. 如果一个类定义中没有定义构造方法,该类有构造函数吗? (有,编译器会自动生成一个缺省的不带参数的构造函数)10. 如果一个类定义中已经

26、定义了构造方法,java还会给它定义缺省的构造方法吗?(不会)11. 类的访问控制权有哪两种?(public 和 缺省的(即没有访问控制修饰符))12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?(static)13. 静态属性和静态方法仅属于类的一个具体对象吗?它属于谁? (不是;它是类的所有对象公有的)14. static 变量能是 private 变量吗?(可以)15. 使用静态成员都能以什么做前缀?(可以用类名或对象名做前缀)16. static方法中能有this引用吗?(不能)17. 非static方法中可以有this引用吗?(可以)18static方

27、法能处理非static成员吗?(不能)19非static方法能处理static成员吗?(能)20. 类的私有属性和私有方法能不能被其子类直接访问? (不能)五、编程题1、基本类定义:编写一个类,描述学生的学号、姓名、成绩。学号用整型,成绩用浮点型,姓名用string类型。编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。class studentint snum;double score;string name;public class t1_studentpublic static void main(string args)student s=new student(

28、);s.snum=101;s.score=97;="张三"system.out.println(+"的学号是"+s.snum+"成绩是"+s.score);2、基本类定义:将上述类进行改写,学生拥有判断自己的成绩是否及格的功能。并能够打印输出自己的姓名和是否及格的信息(方法名:printinfo()编写一个测试类,对学生类进行测试。class studentint snum;double score;string name;void printinfo()if(score>=60)system.out.p

29、rintln("我的姓名是"+name+"我的成绩为及格");elsesystem.out.println("我的姓名是"+name+"我的成绩为不及格");public class t1_studentpublic static void main(string args)student s=new student();s.snum=101;s.score=97;="张三"system.out.println(+"的学号是"+s.snum+"

30、;成绩是"+s.score);s.printinfo();3、构造方法:编写一个类,描述桌子,包括以下几种属性:长、宽、高、颜色。并且使该类具有这样的功能:在定制桌子(即创建桌子对象时),就可以同时指定桌子的长宽高来订制。也可以同时指定长、宽、高、颜色来订制,也可单独指定桌子颜色来订制。并编写一个测试类测试这几种定制方法。public class t2_deskpublic static void main(string args)desk d1=new desk(2,1.5,0.6);system.out.println("第一个桌子的长宽高分别为:"+d1.l

31、ength+" "+d1.width+" "+d1.height);desk d2=new desk(1,0.6,0.3,"red");system.out.println("第二个桌子的长宽高和颜色分别为:"+d2.length+" "+d2.width+" "+d2.height+" "+d2.color);desk d3=new desk("green");system.out.println("第三个桌子的颜色是&qu

32、ot;+d3.color+"色");class deskdouble length;double width;double height;string color;desk(double l,double w,double h)length=l;width=w;height=h;desk(double l,double w,double h,string c)length=l;width=w;height=h;color=c;desk(string c)color=c;4、访问器方法:编写一个类,描述银行账户,包括收入、支出和账户余额三种属性,同时包括对这三种属性的读、写的

33、访问器方法,这三种属性都定义为私有的。该类定义的银行账户还能够通过自己的收入和支出自动计算账户余额。对于账户余额只能读取,自动计算,但不能够直接赋值,也就是不能够写。编写一个测试类,输入收入和支出项,打印账户余额。public class t4_bankpublic static void main(string args)bank b=new bank();b.setincome(30);b.setoutcome(10);system.out.println(b.getall();class bankprivate double income;private double outcome;p

34、rivate double all;public void setincome(double i)income=i;public double getincome()return income;public void setoutcome(double o)outcome=o;public double getoutcome()return outcome;public double compute()all=income-outcome;return all;public double getall()return compute();5、给方法传递参数:编写一个类,描述汽车,其中用字符型描

35、述车的牌号,用浮点型描述车的价格。编写一个测试类,其中有一个修改价格方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改过后的汽车信息。public class t5_changecarpublic static void main(string args)car c=new car();c.carnum="辽b1111"c.price=10;system.out.println("before change ,the car's num and price is:"+c.carnum+" "+c.

36、price);changeprice(c);system.out.println("after change ,the car's price is:"+c.price);public static void changeprice(car c)c.price=c.price*0.8;class carstring carnum;double price;6、static关键字:编写一个类teacher,描述教师的课时数量和计算课时的系数,均为double类型。teacher类还有一个方法,coursecompute(),可计算教师的当量课时,用课时量乘系数,返回值

37、类型为double,要求系数设置成static类型。编写一个测试类进行测试。创建两个教师对象,计算的系数为1.2,输出计算后的两位老师的当量课时。将系数修改后,输出修改后的当量课时。public class t6_teacherpublic static void main(string args)teacher t1=new teacher(96);teacher t2=new teacher(64);teacher.classxishu=1.2;double realcoursenum=t1.coursecompute();system.out.println("第一位老师的实际

38、课时数为:"+realcoursenum);realcoursenum=t2.coursecompute();system.out.println("第一位老师的实际课时数为:"+realcoursenum);teacher.classxishu=1.5;realcoursenum=t1.coursecompute();system.out.println("更改系数后,第一位老师的实际课时数为:"+realcoursenum);realcoursenum=t2.coursecompute();system.out.println("

39、更改系数后,第一位老师的实际课时数为:"+realcoursenum);class teacherpublic teacher(int coursenum)this.coursenum=coursenum;int coursenum;static double classxishu;double coursecompute()return coursenum*classxishu;7、设计一个描述二维平面上点的类position,该类需要描述点的横坐标和纵坐标,并提供访问器方法和计算两点间距离的方法。写一个程序测试这个类。public class position private i

40、nt x; private int y; public position(int x,int y) this.x=x; this.y=y;public int getx() return x; public int gety() return y; public double distance(position a) double d=math.sqrt(a.getx()-x)*(a.getx()-x)+(a.gety()-y)*(a.gety()-y); return d; public static void main(string args) int x1,x2,y1,y2; syste

41、m.out.println(“请输入第一个点的横坐标:”); x1=myinput.readint(); system.out.println(“请输入第一个点的纵坐标:”); y1=myinput.readint(); system.out.println(“请输入第二个点的横坐标:”); x2=myinput.readint(); system.out.println(“请输入第二个点的纵坐标:”); y2=myinput.readint(); position a=new position(x1,y1); position b=new position(x2,y2); system.ou

42、t.println(“两座标点之间的距离是:”+a.distance(b);8、设计一个birthday类,其成员变量有:year,month,day;提供构造方法、输出birthday对象值的方法和计算年龄的方法。编写程序测试这个类。import java.util.date;public class birthday private int year; private int month; private int day; public birthday(int year,int month,int day) this.year=year; this.month=month; this.d

43、ay=day;public void print() system.out.println(“您的生日是:”+year+” 年”+month+” 月”+day+” 日”);public void age() int age= int age=calendar.getinstance().get(calendar.year)-year; system.out.println(“您的年龄是:”+age);public static void main(string args) birthday b=new birthday(1980,12,6); b.print(); b.age();9、设计一个

44、学生类,其中成员变量应包括:学号,姓名,性别,班级,并提供方法打印学生信息,和计算已经创建学生对象的数目。编写一个程序测试这个类。public class student private long id; private string name; private char sex; private string banji; private static int count=0; public student(long id,string name,char sex,string banji) this.id=id; =name; this.sex=sex; this.ban

45、ji=banji; count+;public void print()system.out.println(“该生信息如下:”);system.out.println(“学号:”+id+” 姓名:”+name+” 性别:”+sex+” 班级:”+banji);public static void count() system.out.println(“已经创建的学生个数为:”+count); public static void main(string args) student a=new student(01,“zhangsan”,男,”计专01班”); a.print(); stude

46、nt.count(); student b=new student(03,”刘倩”,女,”计专03班”); b.print(); student.count();10(testclass.java)设计一个类,用于表示一个学生的学号、姓名及所学的数学、英语及程序设计3门课程;设计一个类表示一个班,这些学生都学习上述3门课程;设计一个类,用于输出学生的姓名及3门课程的总成绩。class studentpublic long no;public string name;public float math;public float english;public float program;stude

47、nt(long no,string name,float math,float english,float program)this.no=no;=name;this.english=english;gram=program;class classmatestudent st;classmate()class printstudentprintstudent()void print(student s)system.out.println(+"t"+(s.math+s.english+gram);public clas

48、s testclasspublic static void main(string args)final int n=2;classmate m=new classmate();m.st=new studentn;m.st0=new student(2002001,"tom",76,85,92);m.st1=new student(2002002,"jack",90,86,78);printstudent prt=new printstudent();system.out.println("name"+"ttotalscore");for(int i=0;i<n;i+)prt.print(m.sti); 11.(testemployee.java)定义并测试一个代表员工的employee类,它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”、“员工薪水增长额”;它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“计算薪水增长额”及“计算增长后的工资总额”。class employeeprivate string name;private long i

温馨提示

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

评论

0/150

提交评论