Java语言程序设计课后习题集Word格式.docx
《Java语言程序设计课后习题集Word格式.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计课后习题集Word格式.docx(52页珍藏版)》请在冰点文库上搜索。
从下载安装Eclipse首先下载版本EclipseSDK3.2-win32.zip下载地址为:
(http:
//www.eclipse.org/downloads/)
然后将eclipse-SDK-3.2.2-win32.zip直接解压到你想安装的地方:
我的是C:
\ProgramFiles\Java\q其次按照书上的提示安装Eclipse。
其次打开Eclipse,安装NLpack1-eclipse-sdk-3.2-win32中文包,选择Searchfornewfeaturestoinstall选项然后单击Next进入对话框,单击NewLocalSite然后再单击Next,进入到“”浏览文件夹,最后选择NLpack—eclipse-SDK-3.2-win32——eclipse文件夹,在单击确定最后单击Finish,安装结束。
在Eclipse中配置JDK步骤为:
在中文界面Java-EclipseSDK窗口,选择“窗口”——“首选项”命令打开对话框然后选择Java—InstalledJREs,进入首选项,再单击Edit,进入EditJRE对话框,最后单击Browse找到jdk1.5.0_01文件单击确定。
2.3程序:
classHelloWorld
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("
HelloWorld!
"
);
}
}
运行:
2.4程序及运行如下:
第三章
3.1
此程序出现以下两个问题:
publicstaticvoidmain(String[]args)
inti;
System.out.println(i);
//1、i在此处未初始化
inti=15;
//2、i已在前面定义
以下为正确的源代码:
publicclassT3_1
publicstaticvoidmain(String[]args)
{
inti=10;
//可任取一值
i=15;
3.2
publicclassBasicTypis
byteb=(byte)0X88;
shorts=0200;
inti=11111;
longl=0x1111111;
charc='
A'
;
floatf=.333f;
doubled=.00001001;
booleanb1=true;
System.out.println("
byteb="
+b);
shorts="
+s);
inti="
+i);
longl="
+l);
charc="
+c);
floatf="
+f);
doubled="
+d);
booleanb1="
+b1);
运行结果如下:
3.3
(1)double
(2)6.5
3.4
运行结果:
a=0b3c=3
a=6b4c=4
a=8b3c=3
其源程序为:
publicclassArithmeticOp
publicstaticvoidmain(Stringarge[])
inta,b,c;
a=b=c=2;
a=++b-++c;
a="
+a+"
b"
+b+"
c="
a=b+++c++;
a=b--+c--;
3.5
(1)结果为i=1j=2(如下图),与分析结果一致。
(2)break语句起到跳出switch语句的作用。
本题源代码如下:
publicclassTest
publicstaticvoidmain(String[]s){
intx=1,y=2,i=0,j=0;
switch(x)
{
case1:
switch(y)
{
case1:
i++;
break;
case2:
j++;
//i=0;
j=1
default:
j++;
}
case2:
break;
//i=1;
j=2;
default:
i++;
}
i="
j="
+j);
3.6
//xunhuan.java
publicclassxunhuan
publicstaticvoidmain(String[]args)
intn;
for(n=10;
n<
=50;
n++)
{
if(n%3==0)
System.out.println(n);
//xunhuan1.java
publicclassxunhuan1
intn=10;
while(n<
=50)
System.out.println(n);
publicclassxunhuan2
do
n++;
=50);
if(n%3==0)
3.7
publicclassT3_7
intnum1,num2,temp;
//定义这两个数为100、20,当然你可以随意定义。
num1=100;
num2=20;
temp=0;
if(num1>
num2)
temp=num1;
num1=num2;
num2=temp;
按从小到大的顺序输出:
+num1+"
"
+num2);
3.8
publicclassT3_8
{
inti,j=0;
for(i=1;
i<
=100;
i++)
if(j==5)
System.out.println();
j=0;
if(i%2==0)
System.out.print(i+"
3.9
publicclassShuiXianHuaShu
publicstaticvoidmain(String[]args)
intcount=0;
for(inti=100;
i<
1000;
i++){
if(getCount(i)){
System.out.println(i+"
是水仙花数....."
count++;
共有"
+count+"
个水仙花数!
publicstaticintgetLifang(inti){
returni*i*i;
publicstaticbooleangetCount(inti){
inta=i/100;
//取出百位的的数字
inttemp=i%100;
intb=temp/10;
//取出十位的数字
intc=temp%10;
//取出各位的数字
if(getLifang(a)+getLifang(b)+getLifang(c)==i){
returntrue;
}else{
returnfalse;
3.10
publicclassT3_10
{
inti=0,j=0,k=0;
for(i=0;
5;
for(k=0;
k<
i;
k++)
System.out.print('
'
for(j=0;
j<
j++)
System.out.print("
*"
3.11
publicclassT3_11
{
inti,j;
=9;
for(j=1;
=i;
System.out.print(j+"
x"
+i+"
="
+i*j+"
3.12
略。
第四章
1.什么是类,什么是对象,对象和类是什么关系?
类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板”。
对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的独立实体。
类和对象之间的关系是抽象和具体的关系:
类表达的是一种抽象的概念,它描述了该类对象的共同特征;
而对象是具体事物,以类为模板来生成,它具有自己的状态。
举例:
类与对象的关系犹如零件的图纸与按图纸制造出的零件关系一样;
图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等
2.什么是方法,方法的结构是怎样的,设计方法应考虑哪些因素?
方法是Java类的一个组成部分,通过类的方法改变对象的状态。
方法的结构:
[方法修饰符]返回值类型方法名([形参列表])[throws异常列表]
{方法体;
}设计方法应考虑因素有:
(1)方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。
(2)返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。
如果方法没有返回值,则用void表示。
(3)形式参数列表是可选的。
如果方法没有形式参数,就用一对小括号“()”表示。
形式参数列表的形式如下:
(类型形参名,类型形参名,……)
(4)throws异常列表规定了在方法执行中可能导致的异常。
3.创建一个类,该类含有int和char类型的成员变量且未被初始化,然后编程输出这些成员变量的值,查看Java是否执行了默认的初始化操作。
publicclassparent{
inta;
//整型变量
charb;
//字符型变量
publicvoidshow()//用来输出未被初始化的变量的
{Systemoutprintln(a);
Systemoutprintln(b);
}publicstaticvoidmain(String[]args){
parentc=newparent();
//声明类的对象并实例化
c.show();
//函数调用
}}输出结果:
0/
第四章
5题
classRectangle
privateintwidth;
privateintlength;
Rectangle()
//默认构造方法
length=30;
width=20;
Rectangle(intl,intw)
//带参数的构造方法
length=l;
width=w;
Rectangle(Rectangler)
//拷贝构造
width=r.getWidth();
length=r.getLength();
intgetWidth()
//返回值
returnwidth;
intgetLength()
returnlength;
publicclassUseRectangle
publicstaticvoidmain(Stringargs[])
Rectanglex1=newRectangle();
Rectanglex2=newRectangle(50,40);
Rectanglex3=newRectangle(x1);
System.out.println(x1.getLength());
System.out.println(x1.getWidth());
System.out.println(x2.getLength());
System.out.println(x2.getWidth());
System.out.println(x3.getLength());
System.out.println(x3.getWidth());
结果是
6题
classFact
floatfact(intn)
inti;
floatx=1;
for(i=1;
=n;
x=x*i;
returnx;
publicclassCheckFact
Factx=newFact();
System.out.println(x.fact(10));
System.out.println(x.fact(15));
}}
7题
classSuperClass
intx;
SuperClass()
x=10;
voiddoClass()
System.out.println("
SuperClass.doClass()"
classSubClassextendsSuperClass
SubClass()
super();
x=100;
subClass.doClass()"
voiddoDemo()
x=1000;
super.doClass();
doClass();
super.x="
+super.x);
this.x="
+this.x);
x="
+x);
publicclassSuperDemo
SubClasss=newSubClass();
s.doDemo();
8题
classFather
voidspeak()
IamFather!
voidspeak(Strings)
Ilike"
+s+"
."
publicclassOverLoadingDemo
Fatherx=newFather();
x.speak();
x.speak("
music"
9题
classPoint
publicstaticintx;
publicinty;
Point(intx,inty)
this.x=x;
this.y=y;
Pointp1,p2,p3;
p1=newPoint(1,10);
p2=newPoint(2,20);
p3=newPoint(3,30);
System.out.println(p1.x+"
"
+p1.y);
System.out.println(p2.x+"
+p2.y);
System.out.println(p3.x+"
+p3.y);
第五章
1、什么是异常?
简述Java的异常处理机制。
Java程序把运行过程中各种可能出现的错误都看作异常。
其中,Java运行时系统内部的错误或资源枯竭导致的普通程序不能恢复的错误,属于未检测的异常。
系统中一旦产生了异常,便去寻找处理该异常的处理程序,以保证不产生死机,从而保证程序的安全运行,这便是异常处理的简单原理。
2、系统定义的异常与用户自定义的异常有何不同,如何使用这两类异常?
系统定义的异常:
程序中经常出现的系统可以预见的错误,系统已定义了异常来处理这些常见错误。
使用try-catch-finally语句捕获一个或多个异常
try
{<
程序段>
catch(<
异常类名1>
<
异常对象名1>
)
异常处理代码1>
异常类名2>
异常对象名2>
异常处理代码2>
…
finally
最终异常处理代码>
抛出异常:
说明方法时格式:
<
访问权限修饰符>
类型>
方法名>
(<
参数表>
)throws<
异常列表>
抛出异常的语句格式:
throw<
异常名>
用户自定义的异常:
程序中出现的一些系统识别不了的运行错误,为了保证系统的稳定性,需要用户创建自己的异常和异常类,以便处理可能出现的异常。
创建异常类的格式如下:
class<
异常类名>
extends<
异常父类名>
类体>
(<
修饰符>
)<
捕捉异常仍可用try-catch-finally语句格式
3、输入并运行下面程序:
classTestTry{
proc(0);
proc(100);
proc
(1);
staticvoidproc(intnum)
t