《Java语言程序设计基础篇》第10版 梁勇 著第十八章练习题答案.docx
- 文档编号:814662
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:69
- 大小:33.21KB
《Java语言程序设计基础篇》第10版 梁勇 著第十八章练习题答案.docx
《《Java语言程序设计基础篇》第10版 梁勇 著第十八章练习题答案.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计基础篇》第10版 梁勇 著第十八章练习题答案.docx(69页珍藏版)》请在冰豆网上搜索。
《Java语言程序设计基础篇》第10版梁勇著第十八章练习题答案
《Java语言程序设计(基础篇)》(第10版梁勇著)
第十八章练习题答案
18.1
importjava.math.*;
importjava.util.*;
publicclassExercise18_01{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("Enteranintegerofanysize:
");
StringnumberString=input.nextLine();
BigIntegerbigNumber=newBigInteger(numberString);
System.out.println(factorial(bigNumber));
}
publicstaticBigIntegerfactorial(BigIntegeri){
if(i.equals(BigInteger.ZERO))
returnBigInteger.ONE;
else
returni.multiply(factorial(i.subtract(BigInteger.ONE)));
}
}
18.2
//Exercise18_02.java:
IterativesolutionfortheFibonaccinumber
publicclassExercise18_02{
publicstaticvoidmain(String[]args){
System.out.println("Thefibonacci(10)is"+fib(10));
}
publicstaticlongfib(intn){
intf0=0,f1=1,currentFib;
if(n==0)return0;
if(n==1)return1;
for(inti=2;i<=n;i++){
currentFib=f0+f1;
f0=f1;
f1=currentFib;
}
returnf1;
}
}
18.3
//Exercise18_03.java:
FindtheGCDoftwointegers
importjava.util.Scanner;
publicclassExercise18_03{
publicstaticvoidmain(Stringargs[]){
Scannerinput=newScanner(System.in);
//Enterthefirstnumber
System.out.print("Enterthefirstnumber:
");
intm=input.nextInt();
//Enterthesecondnumber
System.out.print("Enterthesecondnumber:
");
intn=input.nextInt();
System.out.println("TheGCDof"+m+"and"+n+"is"+
gcd(m,n));
}
publicstaticintgcd(intm,intn){
if(m%n==0)
returnn;
else
returngcd(n,m%n);
}
}
18.4
publicclassExercise18_04{
publicstaticvoidmain(String[]args){
for(inti=1;i<=10;i++)
System.out.println(m(i));
}
publicstaticdoublem(inti){
if(i==1)
return1;
else
returnm(i-1)+1.0/i;
}
}
18.5
publicclassExercise18_05{
publicstaticvoidmain(String[]args){
for(inti=1;i<=10;i++)
System.out.println(m(i));
}
publicstaticdoublem(inti){
if(i==1)
return1.0/3;
else
returnm(i-1)+i*1.0/(2*i+1);
}
}
18.6
publicclassExercise18_06{
publicstaticvoidmain(String[]args){
for(inti=1;i<=10;i++)
System.out.println(m(i));
}
publicstaticdoublem(inti){
if(i==1)
return1.0/2;
else
returnm(i-1)+i*1.0/(i+1);
}
}
18.7
importjava.util.Scanner;
publicclassExercise18_07{
staticintcount=0;
publicstaticvoidmain(Stringargs[]){
//Readtheindex
Scannerinput=newScanner(System.in);
System.out.print("EnteranindexfortheFibonaccinumber:
");
intindex=input.nextInt();
System.out.println("Fibonaccinumberatindex"+index+"is"+fib(index));
System.out.println("Numberoftimesfibisinvoked?
"+count);
}
/**ThemethodforfindingtheFibonaccinumber*/
publicstaticlongfib(longindex){
count++;
if(index==0)//Basecase
return0;
elseif(index==1)//Basecase
return1;
else//Reductionandrecursivecalls
returnfib(index-1)+fib(index-2);
}
}
18.8
importjava.util.Scanner;
publicclassExercise18_08{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("Enteraninteger:
");
inti=input.nextInt();
reverseDisplay(i);
}
publicstaticvoidreverseDisplay(intvalue){
if(value!
=0){
System.out.print(value%10);
value=value/10;
reverseDisplay(value);
}
}
}
18.9
importjava.util.Scanner;
publicclassExercise18_09{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("Enterastring:
");
Stringi=input.nextLine();
reverseDisplay(i);
}
publicstaticvoidreverseDisplay(Stringvalue){
if(value.length()>0){
System.out.print(value.charAt(value.length()-1));
reverseDisplay(value.substring(0,value.length()-1));
}
}
}
18.10
importjava.util.Scanner;
publicclassExercise18_10{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("Enterastring:
");
Strings=input.nextLine();
System.out.print("Enteracharacter:
");
charch=input.nextLine().charAt(0);
inttimes=count(s,ch);
System.out.println(ch+"appears"+times+(times>1?
"times":
"time")+"in"+s);
}
publicstaticintcount(Stringstr,chara){
intresult=0;
if(str.length()>0)
result=count(str.substring
(1),a)+
((str.charAt(0)==a)?
1:
0);
returnresult;
}
}
18.11
importjava.util.Scanner;
publicclassExercise18_11{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("Enteraninteger:
");
inti=input.nextInt();
System.out.println("Thesumofdigitsin"+i+"is"+sumDigits(i));
}
publicstaticintsumDigits(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计基础篇 Java语言程序设计基础篇第10版 梁勇 著第十八章练习题答案 Java 语言程序设计 基础 10 第十八 练习题 答案