Java程序设计教程(第2版)课后习题及答案03课后习题_第1页
Java程序设计教程(第2版)课后习题及答案03课后习题_第2页
Java程序设计教程(第2版)课后习题及答案03课后习题_第3页
Java程序设计教程(第2版)课后习题及答案03课后习题_第4页
全文预览已结束

下载本文档

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

文档简介

第3章课后习题参考答案

1.叙述if语句和switch语句的相同点和不同点。

答:switch和if语句都可以进行多分支选择判断。那么,它们之间有什么区别呢?if适用于无限

种情况,swilch适用于有限种情况。例如a>0,满足条件和不满足条件的a有无数多个,不可能

用switch列出।无数个case,这时只能用if语句来判断。有些问题可以用if语句也可以用switch

语句。也有些情况使用switch格式看起来整齐漂亮。

2.叙述for语句的语法形式和其执行过程。

答:for循环的语法形式:for(表达式1:条件式达式;衣达式2)循环体

其中“条件表达式”和“语句”的写法与简单的if语句的写法相同。“表达式1”和“表达式2”

可以是任何合法的Java表达式,但是一股来说,“表达式1”是循环体中变量的初值赋值表达式,

包括循环控制变量的初始化,“表达式2”是循环体中变量的增量表达式。”条件表达式”是循环

能否进行的条件,当条件表达式的值为真时.,执行循环体,否则循环结束。

3.比较break语句(包括带标号的)和continue语句(包括带标号的)的区别。

答:break语句的作用是使它所在的循环完全结束,不管后面还有多少次循环,都不再执行。

coniinuc语句其作用是结束conlinuc所在循环的当前一次循环,如果其后还有循环,则继续执行

循环。

带标号的break语句的作用是使“标号”处所指向的循环提前结束。

带标号的continue语句的作用是使标号所指的循环的当前一次循环结束,标号所指的循环后面如

果还有循环,则继续执行后面的循环。

4.输出九九乘法表。

答:

importjava.util.*;

publicclasscxcrcisc03_04

(

publicstaticvoidinain(Stringf]args)

]

for(inti=l;i<=9;i++)

(

for(in(j=l;j<=i;j++)

(

System.out.printf("%dx%d=%2d",j,i,i*j);

)

System.out.printlnO;

}

)

|

5.写一个程序,读入秒数,然后按小时、分及秒输出(例如,5322秒输出1小时28分42秒)。

答:

importjava.util.*;

publicclassexerciseO3_O5

publicstaticvoidmainCStringl)args)

(

Scannerinput=newScanner(System.in);

intseconds=input.nexllnt();

inthours=seconds/3600:

intminutes=seconds%3600/60;

intsecs=seconds%60;

System.out.printf("%d小时%d分%d秒\n",hours,minutes,secs);

)

}

6.从键盘输入4个整数,按由小到大的顺序输出。

答:

importjava.util.*;

publicclasscxcrciscO3_O6

(

publicstaticvoidmain(String[]args)

{

Scannerinput=newScanner(System.in);

inta,b,c,d;

int

a=input.nextlnt();

b=input.nextlnt();

c=input.nextlnt();

d=input.nextlnt();

if(a>b){tnip=b;b=a;a=tinp;}

if(c>d){tmp=c;c=d;d=ltnp;}

if(b>d){m4=b;m3=d;}

else(m3=b;m4=d;}

ifta>c){mI=c;m2=a;}

else(m2=c;ml=a;}

if(ni2>m3){(mp=rn2;in2=m3;ni3=tnip;}

System.out.printf("%d,%d,%d,%d\n".ml

)

}

7.编程求出所有的水仙花数。所谓水仙花数是一个三位数,其每一位的立方和等于该数本身,

例如153=13+53+3\

答:

importjava.util.*;

publicclassexerciseO3_O7

publicstaticvoidmain(String|]args)

inta.b.c.tmp;

for(inti=IOO;i<10()0;iT)

a=i/100:

b=i/IO%IO;

c=i%10;

tmp=a*a*a+b*b*b-»-c*c*c;

if(i==tmp)Systemout.printf("%d=%dA3+%dA3+%dA3\n",i,a,b,c);

)

8.求两个数的最大公约数和最小公倍数。

答:

importjava.ulil.*;

publicclassexerciseO3_()8

(

publicstaticvoidmain(String|]args)

(

Scannerrcadcr-ncwScanncr(System,in);

inta.b,ll,t2,(mp;

a=reader.nextlnt();

b=reader.nextlnt();

if(a>b){(l=b;t2=a;}else{U=a:t2=b;)

while(t2%tl!=0){tmp=t2;t2=tl;tl=tmp%t2;}

System.out.println(tl+","+a*b/tI);

9.求1000以内的所有完数。完数是指一个整数的所有因子之和等于该数本身,如6=1+2+3。

答:

importjava.util.*;

publicclassexerciseO3_O9

]

publicstaticvoidinain(String[]args)

(

inti.j;

for(i=2;i<=1000;i++)

(

inta

温馨提示

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

评论

0/150

提交评论