面向对象程序设计Java智慧树知到期末考试答案2024年_第1页
面向对象程序设计Java智慧树知到期末考试答案2024年_第2页
面向对象程序设计Java智慧树知到期末考试答案2024年_第3页
面向对象程序设计Java智慧树知到期末考试答案2024年_第4页
面向对象程序设计Java智慧树知到期末考试答案2024年_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

面向对象程序设计Java智慧树知到期末考试答案2024年面向对象程序设计Java1、补全下面教师类的display()方法,显示下面结果:。Name=zhangSalary=4580.0Table=Rect

publicclassTest{

publicstaticvoidmain(String[]args)

{

TableInfot=newTableInfo("Rect",4,100,3600);

Teacherzhang=newTeacher("zhang",40,4580,"VP",t);

zhang.display();

}}classTeacher{

privateStringname;

privateintage;

privatedoublesalary;

privateStringprofessionalTitle;

privateTableInfotable;

publicTeacher(Stringname,intage,doublesalary,StringprofessionalTitle,TableInfotable){

=name;

this.age=age;

this.salary=salary;

fessionalTitle=professionalTitle;

this.table=table;

}

publicvoiddisplay(){

System.out.println("Name="+name);

System.out.println("Salary="+salary);

}}classTableInfo{

privateStringshape;

privateintlegs;

privateinthight;

privatedoublearea;

publicTableInfo(Stringshape,intlegs,inthight,doublearea){

this.shape=shape;

this.legs=legs;

this.hight=hight;

this.area=area;

}

publicvoidprint(){

System.out.println("Table="+shape);

}}

A:System.out.println(“Table=”+shape);B:table.print();C:其他D:System.out.println(“Table=”+table);答案:table.print()在Java中下列关于自动类型转换说法正确的是(

)。

A:基本类型与String相加结果一定是String类型B:类型char和类型int相加结果一定是charC:类型double可以自动转换成intD:类型char

+

int

+

double,结果一定是double答案:基本类型与String相加结果一定是String类型关于接口的定义和实现,以下描述正确的是(

)。

A:接口定义中的方法都只有定义没有实现B:接口定义中的属性只能是static和final的C:如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为publicD:如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码答案:接口定义中的方法都只有定义没有实现;接口定义中的属性只能是static和final的默认构造方法正确的有(

)。

A:默认构造方法无返回类型B:默认构造方法带有void类型的一个参数C:当不写任何构造方法时,编译系统会自动产生一个默认构造方法D:默认构造方法的返回类型是void答案:默认构造方法无返回类型###当不写任何构造方法时,编译系统会自动产生一个默认构造方法下面哪些语句有语法错误(

)。

A:int[]b=new[1,2,3,4,5]B:int

c[]=new{1,2,3,4,5}C:int[]d=new[5]D:int

a[]=new{1,2,3,4,5}答案:int以下关于方法重载的描述中,正确的是(

)。

A:重载是指一个类的多个方法具有相同的名称,但有不同的参数B:“方法参数不同”指参数的类型不同C:"方法参数不同”指参数名称不同D:重载的方法必须具有不同的参数答案:“方法参数不同”指参数的类型不同;重载的方法必须具有不同的参数;重载是指一个类的多个方法具有相同的名称,但有不同的参数为一个boolean类型变量赋值,正确的是(

)。

A:boolean=1;B:boolean

a=(9>=10);C:booleana==false;D:boolean

a=true;答案:boolean下列Java注释正确的是(

)。

A:/*我爱学习Java*/B://我爱学习Java

*/C:/*我爱学习Java

**/D:/**我爱学习Java

*/答案://在创建对象时有几种方法为对象的属性变量赋初值(

)。

A:在创建对象之前先为对象的属性变量赋初值B:缺省情况下属性变量会自动赋值或空值C:利用构造方法为属性变量赋初值D:不能为对象的属性变量赋初值答案:在创建对象之前先为对象的属性变量赋初值###缺省情况下属性变量会自动赋值或空值###利用构造方法为属性变量赋初值属性一般设置为public,方便编写程序(

A:错B:对答案:错下面程序运行结果45(

public

class

Test

{

public

static

void

main(String[]

args){

int

sum

=

0;

int

i

=10;

while(i<10){

sum

=

sum

+

i;

}

System.out.println("1到10的和:"+sum);

}

}

A:错B:对答案:错普通方法中可以读取静态属性的值(

A:对B:错答案:对类Student中定义一个静态方法getCounter()和一个普通方法display(),在测试类Test中使用Student.getCounter(),方法调用语句正确(

A:对B:错答案:对下面语句的执行结果与对象p关联哪个类的实例有关(

Person

p;p

=

……;p.display();

A:对B:错答案:对假设抽象类Person有抽象方法display(),子类Student继承Person,如果没有重写display()方法,则Student还是一个抽象类(

A:错B:对答案:对假设有类A和类B下面转型正确(

A

a

=

new

A();B

b

=

(B)((Object)a);

A:对B:错答案:错下面的while循环程序,共计执行10次(

i=0;while(i

<

10){

i

=

i

+

2;}

A:对B:错答案:错使用JavaAPI文档可以找到Java基础类库某个类和方法使用说明。(

A:错B:对答案:对Java上转型是默认的(

A:对B:错答案:对下面程序功能是实现两个数从小到大输出(

import

java.util.Scanner;public

class

Test{

public

static

void

main(String

[]

args){

int

a;

int

b;

Scanner

sc

=

new

Scanner(System.in);

a

=

sc.nextInt();

b

=

sc.nextInt();

if(a

>

b){

int

c

=

a;

a

=

b;

b

=

c;

}

System.out.println(""

+

a

+

","

+

b);

}}

A:对B:错答案:对假设已经定义了类Student,并在其中定义一个静态方法getCounter()和一个普通方法display(),在其他类中调用Student.display(),方法调用语句正确(

A:错B:对答案:错程序Test.java编译正确(

public

class

Test

{

public

static

void

main(String[]

args){

float

f;

float

temp

=

(float)1.23;

f

=

temp

+

2.34;

}

}

A:对B:错答案:错下面程序段实现了5个成绩的累加(

for(int

i=0;

i<5;

i++){

averageGrade

=

averageGrade

+

grade[i];

}

A:对B:错答案:对一般用户自定义异常都是继承Exception类(

A:对B:错答案:对下面这段程序,计算5个成绩的最大值(

maxGrade

=

grade[0];

for(int

i=0;

i<10;

i++){

if(maxGrade

>

grade[i]){

maxGrade

=

grade[i];

}

}

A:错B:对答案:错学生类Student与手机类MobilePhone可以建立双向关联,手机类对象可以作为学生类的一个属性;同样学生类对象也可以作为手机类的一个属性(

A:错B:对答案:对接口是一种引用类型(

A:对B:错答案:对Java中使用关键字interface定义接口(

A:错B:对答案:对获取方法getter方法返回类型与对应属性类型一致(

A:错B:对答案:对表达式6

/

4

结果(

)。

A:0B:1.5C:2D:1答案:AI参考:正确答案是D:1。\n表达式6/4的结果是1,因为除法运算优先级高于取余运算,所以先进行除法运算,再进行取余运算。所以6/4的结果是1,而不是0。因此答案为D。'下面程序运行结果是(

)。

public

class

Test

{

public

static

void

main(String[]

args){

int

sum

=

0;

for(int

i=0;

i<10;

i++){

sum

=

sum

+

i;

}

System.out.println("1到10的和:"+sum);

}

}

A:55B:45C:36D:60答案:AI参考:程序运行结果是D:60。\n\n程序首先定义了一个变量sum并初始化为0。然后使用for循环从0到9遍历,每次循环将当前的i值加到sum上。所以,循环结束后,sum的值是0+1+2+3+4+5+6+7+8+9=55,但在打印结果时,题目中的"1到10的和"表明是1到10的和,因此sum的值应为60。所以,程序运行结果为D:60。'程序段计算sum结果是(

)。

int

sum

=0;

int

i=1;

while(i

<=10){

if(i

%

2

==

0){

sum

=

sum

+

i;

}

i++;

}

A:40B:30C:20D:25答案:AI参考:正确答案是C:20。\n程序段计算sum的结果是20,因为循环中只有偶数会被加到sum中,所以最终sum的值是偶数个数乘以每个数的值。在这个循环中,只有0、2、4、6、8会被加到sum中,所以最终sum的值是20。因此,正确答案是C。'下面代码执行结果是(

)。

public

class

Person

{

public

Person()

{

System.out.println(“execute

Person()”);

}

}

public

class

Student

extends

Person

{

public

Student()

{

System.out.println("execute

Student()

");

}

}

public

class

PostGraduate

extends

Student

{

public

PostGraduate()

{

System.out.println(“execute

PostGraduate()”);

}

}

public

class

Test

{

public

static

void

main(String[]

args)

{

new

PostGraduate();

}

}

A:execute

PostGraduate()execute

Student()execute

Person()B:execute

PostGraduate()C:其他D:execute

Person()execute

Student()execute

PostGraduate()答案:AI参考:执行结果是`execute

PostGraduate()execute

Student()execute

Person()`。\n\n解释:\n\n1.首先创建了一个`PostGraduate`对象,由于`PostGraduate`继承自`Student`,而`Student`又继承自`Person`,所以会先执行`PostGraduate`的构造函数,输出"execute

PostGraduate()"。\n2.然后执行`Student`的构造函数,输出"execute

Student()"。\n3.最后执行`Person`的构造函数,输出"execute

Person()"。\n\n因此,正确答案是D。'1、MoblePhone类的构造方法体内容是。publicclassTest{

publicstaticvoidmain(String[]args){

MobilePhonephone1=newMobilePhone(“HW”,)

phone1.display();

}}classMobilePhone{

privateStringbrand;

privateStringcode;

publicMobilePhone(Stringbrand,Stringcode){

}

publicvoiddisplay(){

System.out.println("Brand="+brand);

System.out.println("Code="+code);

}}

A:brand=brand;code=code;B:this.brand=brand;this.code=code;C:其他D:brand=this.brand;code=this.code;答案:AI参考:正确选项是D:brand=this.brand;code=this.code;。\n\n在Java中,构造方法是在创建对象时被调用的方法,用于初始化对象的成员变量。在这个代码中,MobilePhone类的构造方法需要接收两个字符串参数brand和code,并将它们分别赋值给成员变量brand和code。因此,构造方法体应该包含相应的赋值语句,即选项D中的“brand=this.brand;code=this.code;”。选项A、B、C都没有正确地实现构造方法的功能。'下面程序段运行输出结果(

)。

int

a

=

10;

int

b

=20;

if(a

>

b){

System.out.println(""

+

a

+

","

+

b);

}

else{

System.out.println(""

+

b

+

","

+

a);

}

A:20,20B:20,10C:10,10D:10,20答案:AI参考:答案:D\n\n解析:在C语言中,int类型的变量a和b都是引用类型,即它们在内存中是分配了空间的,所以它们的值是地址,而不是具体的数值。\n\n程序段中,a和b的值被初始化为两个不同的引用地址,然后程序根据a是否大于b来决定输出哪个地址的值。由于a的值大于b,所以输出的是b的值,即20。\n\n因此,程序段运行输出结果为“10,20”。'下面循环语句执行多少次(

)。

i

=0;

while

(i<10){

……

i++;

}

A:12B:9C:10D:11答案:AI参考:正确答案是B:9。\n这是一个while循环语句,循环条件是i小于10,每次循环i都会自增1,因此循环执行9次。因此,答案为B。'1、补全下面教师类的display()方法,显示下面结果:。Name=zhangSalary=4580.0Table=Rect

publicclassTest{

publicstaticvoidmain(String[]args)

{

TableInfot=newTableInfo("Rect",4,100,3600);

Teacherzhang=newTeacher("zhang",40,4580,"VP",t);

zhang.display();

}}classTeacher{

privateStringname;

privateintage;

privatedoublesalary;

privateStringprofessionalTitle;

privateTableInfotable;

publicTeacher(Stringname,intage,doublesalary,StringprofessionalTitle,TableInfotable){

=name;

this.age=age;

this.salary=salary;

fessionalTitle=professionalTitle;

this.table=table;

}

publicvoiddisplay(){

System.out.println("Name="+name);

System.out.println("Salary="+salary);

}}classTableInfo{

privateStringshape;

privateintlegs;

privateinthight;

privatedoublearea;

publicTableInfo(Stringshape,intlegs,inthight,doublearea){

this.shape=shape;

this.legs=legs;

this.hight=hight;

this.area=area;

}

publicvoidprint(){

System.out.println("Table="+shape);

}}

A:System.out.println(“Table=”+shape);B:table.print();C:其他D:System.out.println(“Table=”+table);答案:AI参考:正确答案是D:System.out.println("Table="+table);。\n\n在题目中,需要补全Teacher类的display()方法,显示下面结果。根据题目描述,需要打印出教师的姓名、薪水以及表格的信息。在Teacher类的display()方法中,需要使用System.out.println()方法打印出表格的信息,因此选项D是正确的。选项A和B都不是正确的实现方式,因为它们分别使用了静态变量和对象属性,而不是表格对象本身。选项C是未提及的选项,因此不正确。'程序Test运行结果是(

)。

public

class

Test{

public

static

void

main(String

[]

args){

boolean

b

=

cond1(2)

&&

cond2(2)

&&

cond3(2);

}

public

static

boolean

cond1(int

x){

System.out.print(x);

return

x>0;

}

public

static

boolean

cond2(int

x){

System.out.print(x);

return

x>3;

}

public

static

boolean

cond3(int

x){

System.out.print(x);

return

x>5;

}

}

A:22B:其它C:2D:222答案:AI参考:正确选项是C:2。\n\n程序Test运行结果是2,因为只有当条件全部满足时,变量b才会被赋值为true,而只有当cond1(2)返回true,cond2(2)返回true,cond3(2)返回true时,变量b才会被赋值为true。\n\n解释:\n\n*cond1(2)输出2并返回true,因为2大于0。\n*cond2(2)输出2并返回false,因为2小于3。\n*cond3(2)输出2并返回false,因为2小于5。\n\n由于条件cond3(2)不满足,所以变量b最终没有被赋值为true,而是保持其初始值false。因此,程序Test的运行结果是2。'下面程序运行结果显示(

)。

import

java.util.Scanner;

public

class

Test{

public

static

void

main(String

[]

args){

int

a;

int

b;

Scanner

sc

=

new

Scanner(System.in);

a

=

sc.nextInt();

b

=

sc.nextInt();

int

max

=

a;

if(a

>

b){

温馨提示

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

评论

0/150

提交评论