Java语言程序设计郑莉第三章课后习题答案.docx
- 文档编号:7495859
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:11
- 大小:84.09KB
Java语言程序设计郑莉第三章课后习题答案.docx
《Java语言程序设计郑莉第三章课后习题答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计郑莉第三章课后习题答案.docx(11页珍藏版)》请在冰豆网上搜索。
Java语言程序设计郑莉第三章课后习题答案
Java语言程序设计(郑莉)
第三章课后习题答案
1.设N为自然数:
n!
=1*2*3*….*n
称为n的阶乘,并且规定0!
=1.试编程计算2!
4!
6!
he10!
.并将结果输出到屏幕上。
答:
publicclassMul
{
publicstaticvoidmain(Stringargs[])
{
inti,n;
floats;
for(n=0;n<=10;n=n+2)
{
if(n==0)
System.out.println("0!
=1\n");
else
{s=1;
for(i=1;i<=n;i++)
s=s*i;
System.out.println(n+"!
="+s+"\n");
}
}
}
}
2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。
答:
publicclassMath{
publicstaticvoidmain(Stringargs[]){
int[]IntArg=newint[args.length];
for(inti=0;i IntArg[i]=Integer.parseInt(args[i]); } intmax,min; max=IntArg[0]>IntArg[1]? IntArg[0]: IntArg[1]; max=max>IntArg[2]? max: IntArg[2]; min=IntArg[0] IntArg[0]: IntArg[1]; min=min min: IntArg[2]; System.out.println("max="+max); System.out.println("min="+min); } } 3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。 答: publicclassSu{ publicstaticvoidmain(Stringargs[]){ intn,i,k=0,y; for(n=2;n<=100;n++){ y=1; for(i=2;i if(n%i==0) {y=0;break;} if(y==1){ k++; System.out.print(n+""); if(k%5==0) System.out.print("\n"); } } } } 4.使用java.lang.Math类,生成100个0---99之间的随机整数,找出他们之中的最大值和最小值,并统计大于50的整数个数。 publicclassRandom{ publicstaticvoidmain(String[]args) { intMinNum,MaxNum,n=0; int[]array=newint[100]; array[0]=(int)(Math.random()*100); MinNum=array[0]; MaxNum=array[0]; System.out.println("数列为: "); System.out.print(array[0]+""); for(inti=0;i<100;i++) { array[i]=(int)(Math.random()*100); if(array[i]>50) n++; if(array[i]>=MaxNum) MaxNum=array[i]; if(array[i]<=MinNum) MinNum=array[i]; System.out.print(array[i]+""); } System.out.println(); System.out.println("MinNum="+MinNum); System.out.println("MaxNum="+MaxNum); System.out.println("大于50的整数个数有: "+n); } } 5.接收用户从键盘上输入的两个整数,求两个数的最大公约数和最小公倍数,并输出。 publicclassTest2 { publicstaticvoidmain(String[]args) { int[]I=newint[args.length]; for(inti=0;i I[i]=Integer.parseInt(args[i]); } intm,n,temp,t; if(I[0] { temp=I[0]; I[0]=I[1]; I[1]=temp; } m=I[0]; n=I[1]; t=m%n; while(t! =0) { m=t; n=m; t=m%n; } System.out.println("两个数的最大公约数为: "+n); System.out.println("两个数的最小公倍数为: "+I[0]*I[1]/n); } } 6.从键盘上输入一件物品的价格(范围在0.10~5.00元.),假设用户支付了一张5元纸币,请列出一种找零的方案,使得纸币及硬币的个数最少。 如3.68元,应为两元一张、一元一张、五角一个、一角一个、五分一个、二分一个、一分一个。 //Price类 importjava.io.*; publicclassPrice{ publicstaticvoidmain(Stringargs[]){ System.out.println("enteranumber(0.01----5.00): "); floata=Keyboard.getFloat(); intc=(int)(a*100); intb=500-c; System.out.println("找零如下: "); if(b/200! =0){System.out.println(b/200+"张2元");b-=(b/200)*200;} if(b/100! =0){System.out.println(b/100+"张1元");b-=(b/100)*100;} if(b/50! =0){System.out.println(b/50+"张5角");b-=(b/50)*50;} if(b/20! =0){System.out.println(b/20+"张2角");b-=(b/20)*20;} if(b/10! =0){System.out.println(b/10+"张1角");b-=(b/10)*10;} if(b/5! =0){System.out.println(b/5+"个5分");b-=(b/5)*5;} if(b/2! =0){System.out.println(b/2+"个2分");b-=(b/2)*2;} if(b! =0)System.out.println(b+"个1分"); } } //Keyboard类 importjava.io.*; publicclassKeyboard{ staticBufferedReaderinputStream=newBufferedReader(newInputStreamReader(System.in)); publicstaticintgetInteger(){ try{ return(Integer.valueOf(inputStream.readLine().trim()).intValue()); }catch(Exceptione){ e.printStackTrace(); return0; } } publicstaticStringgetString(){ try{ return(inputStream.readLine()); }catch(IOExceptione){ return"0"; } } publicstaticfloatgetFloat(){ Strings=""; try{ BufferedReaderin=newBufferedReader(newInputStreamReader(System.in)); s=in.readLine(); return(Float.parseFloat(s)); } catch(IOExceptione) { System.out.println("输入非法! "); return(0.0f); } } } 运行结果: 7.什么是异常? 解释抛出、捕获的含义。 答: 异常又称为例外,是特殊的运行错误对象,在程序中可以强制编译器来处理程序运行中的发生的并非由程序本身所造成的错误; 抛出异常: 把生成异常对象并提交的过程称为抛出异常; 抛出异常是java中一个程序处理动作,检查异常时要么在方法中声明一个异常抛出,用try-catch语句捕获异常,并进行处理。 8.简述Java的异常处理机制。 答: java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。 每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。 一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。 9.系统定义的异常与用户自定义的异常有何不同? 如何使用这两类异常? 答: 系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。 用户定义的是自己觉得可能会出现问题时,需要处理的。 这样避免程序中断或是出现未知错误。 系统异常有两种一种是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。 运行时异常编译可以通过,但是运行时才显露出来。 10.用户如何自定义异常? 编程实现一个用户自定义异常。 (1)定义mytest importjava.io.*; publicclassmytest{ privatestaticintquotient(intnumber,intdenominator)throws DivideByZeroException{ if(denominator==0) thrownewDivideByZeroException(); return(number/denominator); } publicstaticvoidmain(Stringargs[]){ intnumber1=0,number2=0,result=0; try{ System.out.println("输入第一个数字: "); number1=Integer.valueOf(Keyboard.getString()).intValue(); System.out.println("输入第二个数字: "); number2=Integer.valueOf(Keyboard.getString()).intValue(); result=quotient(number1,number2); } catch(NumberFormatExceptione){ System.out.println(e.toString()); System.exit(-1); } System.out.println(number1+"/"+number2+"="+result); } } (2)定义DivideByZeroException publicclassDivideByZeroExceptionextendsArithmeticException{ publicDivideByZeroException(){ super("除数不能为0! "); } } (3)定义Keyboard importjava.io.*; publicclassKeyboard{ staticBufferedReaderinputStream=newBufferedReader(newInputStreamReader(System.in)); publicstaticintgetInteger(){ try{ return(Integer.valueOf(inputStream.readLine().trim()).intValue()); }catch(Exceptione){ e.printStackTrace(); return0; } } publicstaticStringgetString(){ try{ return(inputStream.readLine()); }catch(IOExceptione){return"0";} } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 第三 课后 习题 答案