中南大学网络教育课程考试面向对象程序设计作业参考答案.docx

上传人:b****2 文档编号:2405939 上传时间:2022-10-29 格式:DOCX 页数:15 大小:62.12KB
下载 相关 举报
中南大学网络教育课程考试面向对象程序设计作业参考答案.docx_第1页
第1页 / 共15页
中南大学网络教育课程考试面向对象程序设计作业参考答案.docx_第2页
第2页 / 共15页
中南大学网络教育课程考试面向对象程序设计作业参考答案.docx_第3页
第3页 / 共15页
中南大学网络教育课程考试面向对象程序设计作业参考答案.docx_第4页
第4页 / 共15页
中南大学网络教育课程考试面向对象程序设计作业参考答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

中南大学网络教育课程考试面向对象程序设计作业参考答案.docx

《中南大学网络教育课程考试面向对象程序设计作业参考答案.docx》由会员分享,可在线阅读,更多相关《中南大学网络教育课程考试面向对象程序设计作业参考答案.docx(15页珍藏版)》请在冰豆网上搜索。

中南大学网络教育课程考试面向对象程序设计作业参考答案.docx

中南大学网络教育课程考试面向对象程序设计作业参考答案

《面向对象程序设计》作业及答案

作业一

1.类和对象的概念和关系是什么?

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

一个对象由一组属性和对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合。

类是对象的模板,对象是类的实例。

2.用UML表示交通工具Vehicle类及名为car1,car2及car3的三个Vehicle对象

3.简述对象之间的消息传递机制是如何实现的?

当程序运行时,我们使用类和由类生成的对象来完成任务。

而要命令类或对象执行某项任务,就需要给它发送一条消息(message)。

为了能够处理所接收到的消息,类或对象必须拥有相应的方法(method)。

一个方法就是一个指令序列,也就是一段程序代码,类似于C语言中的函数。

为类定义的方法称为类方法(classmethod),为对象定义的方法称为实例方法(instancemethod)。

类方法可以通过类直接调用,实例方法则必须先创建类的实例才能够调用。

4.import语句的用途是什么?

Java程序是否总要包括import语句?

import保留字用于引入其他包中的类。

Java如果使用的都是同一包的类的话则不需要import保留字。

5.什么是Java的源文件?

什么是字节码文件?

Java的源文件是以.java结尾的文本文件,字节码文件是将Java源文件经过Java编译器编译后的文件,字节码文件不能直接运行,只能运行于Java虚拟机之上。

6.Java虚拟机是什么?

它有作用是什么?

Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。

Java语言的一个非常重要的特点就是与平台的无关性。

而使用Java虚拟机是实现这一特点的关键。

一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。

而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。

Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

7.描述对象声明和对象生成之间的区别。

使用内存状态图来说明这种区别

对象声明是为对象的引用创建一个空间,而对象生成则是创建一个类的实例,即为对象分配空间,如果需要的话,其还会将对象空间的地址赋给其应用。

如Testert1;

t1

t1=newTester();

t1

:

Tester

8.编写Java应用程序,用一个对话框显示当前时间

importjavax.swing.*;

importjava.util.*;

publicclassTest{

publicstaticvoidmain(String[]args){

Datetoday=newDate();

JOptionPane.showMessageDialog(null,today);

}

}

9.下面的代码段会有什么样的输出:

classQ2main{

publicstaticvoidmain(String[]args){

QuestionTwoq2;

q2=newQuestionTwo();

q2.init();

q2.increment();

q2.increment();

System.out.println(q2.getCount());

}

}

classQuestionTwo{

privateintcount;

publicvoidinit(){

count=1;

}

publicvoidincrement(){

count=count+1;

}

publicintgetCount(){

returncount;

}

}

输出结果:

3

10.编写可以根据用户的年龄和身高给出推荐的体重的程序,利用下面的公式计算出推荐的体重:

recommandedWeight=(height-100+age/10)*0.9

定义名为Height(身高)的公共服务类,他应该有可以根据身高得出推荐体重的方法

publicclassTest{

publicstaticvoidmain(String[]args){

Weightw1=newWeight();

System.out.println(w1.getRecommendedWeight(30,170));

}

}

classWeight{

publicdoublegetRecommendedWeight(intage,intheight){

return(height-100+age/10)*0.9;

}

}

作业二

1.假如x的值为10,y的值为20,z的值为30,求出下列布尔表达式的值:

a)x>y&&y>x:

false

b)(x

true

c)!

(x

(x+10<=20):

false

d)!

((x==y))&&(x!

=y)&&(x

true

2.用switch语句重写下面的if语句。

selection=Inter.parseInt(JOptionPane.showInputDialog(null,”Enterselection:

”));

if(selection==0)

System.out.println(“YouselectedMagenta”);

elseif(selection==1)

System.out.println(“YouselectedRed”);

elseif(selection==2)

System.out.println(“YouselectedBlue”);

elseif(selection==3)

System.out.println(“YouselectedGreen”);

else

System.out.println(“Invalidselection”);

改写为:

selection=Inter.parseInt(JOptionPane.showInputDialog(null,”Enterselection:

”));

swith(selection){

case0:

System.out.println(“YouselectedMagenta”);

break;

case1:

System.out.println(“YouselectedRed”);

break;

case2:

System.out.println(“YouselectedBlue”);

break;

case3:

System.out.println(“YouselectedGreen”);

break;

default:

System.out.println(“Invalidselection”);

3.画出下面两个switch语句的控制流程图

a)switch(choice){

case1:

a=0;

break;

case2:

b=1;

break;

case3:

c=2;

break;

case4:

d=3:

break;

}

b)switch(choice){

case1:

a=0;

case2:

b=1;

case3:

c=2;

default:

d=3;

}

a)

b)

4.分别用for、do-while和while语句计算下面的累加和:

a)1+1/2+1/3+1/4+…+1/15

for循环:

intx;

doubleresult=0.0F;

for(doublei=1;i<=15;i++){

result+=1/i;

}

System.out.println(result);

do-while循环:

doublex=1;

doubleresult=0.0F;

do{

result+=1/x;

x++;

}while(x<=15);

System.out.println(result);

while循环:

doublex=1;

doubleresult=0.0F;

while(x<=15){

result+=1/x;

x++;

};

System.out.println(result);

5+10+15+…+50

for循环:

intx;

intresult=0;

for(inti=1;i<=10;i++){

result+=i*5;

}

System.out.println(result);

do-while循环:

intx=1;

intresult=0;

do{

result+=x*5;

x++;

}while(x<=10);

System.out.println(result);

while循环:

intx=1;

intresult=0;

while(x<=10){

result+=x*5;

x++;

};

System.out.println(result);

5.编写一个计算闰年的程序,要求用户输入一个年份,如果用户输入的年份不在0~3000年内则给予用户提示要求其重新输入,否则判断该年份是否为闰年并返回结果。

publicclassTest{

publicstaticvoidmain(String[]args){

LeapYearly=newLeapYear();

System.out.println(puteLeapYear(1998));

System.out.println(puteLeapYear(1900));

System.out.println(puteLeapYear(2000));

}

}

classLeapYear{

publicbooleancomputeLeapYear(intyear){

if(year%4==0&&year%100!

=0)returntrue;

if(year%100==0&&year%400==0)returntrue;

returnfalse;

}

}

6.下列哪一组重载方法是不合法的?

a)publicvoidcompute(intnum){…}

publicintcompute(intnum){…}

b)publicvoidmove(doublelength){…}

publicvoidmove(){…}

c)publicintadjust(doubleamount){…}

publicvoidadjust(doubleamount,doublecharge){…}

d)publicvoiddoWork(){…}

publicvoiddoWork(Stringname){…}

publicintdoWork(doublenum){…}

第a)组

7.完成下面这个类中的前四个构造方法。

其中每一构造方法都是用关键字this调用第五个构造方法:

classCat{

privatestaticfinal

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1