欢迎来到天天文库
浏览记录
ID:52360894
大小:73.00 KB
页数:8页
时间:2020-03-26
《浙大JAVA-实验题答案09answer.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验9-1Method的使用(二)1.程序填空题,不要改变与输入输出有关的语句。50010十进制转换二进制输入一个正整数repeat(02、ava.util.Scanner;publicclassTest50010{publicstaticvoidmain(Stringargs[]){intri,repeat;inti,n;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*---------*/dectobin(n);System.out.println();}}/*---------*/staticvoidd3、ectobin(intn){Stringt="";//保存二进制数do{t=n%2+t;//n除2后的余数拼接到t的前面n=n/2;//获得除2后的商}while(n>0);System.out.print(t);//本方法无返回值,需要在方法体中输出结果}}说明:本题中方法dectobin(n)的输出虽然与要求有所出入,但上传是正确的。以下用递归算法实现方法的设计:50001求1+1/2!+....+1/n!输入一个正整数repeat(04、s的前n项的和(保留4位小数)。s=1+1/2!+....+1/n!要求定义并调用函数fact(n)计算n的阶乘。例:括号内是说明输入:2(repeat=2)2(n=2)10(n=10)输出:1.51.7183importjava.util.Scanner;publicclassTest50001{publicstaticvoidmain(String[]args){intri,repeat;inti,n;doubles;Scannerin=newScanner(System.in);repeat=in.nex5、tInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*-----------*/s=0;for(i=1;i<=n;i++)s+=1.0/fact(i);System.out.println((long)(s*10000+0.5)/10000.);}}/*---------------*/staticdoublefact(intn){//递归方法if(n==1)return1;elsereturnn*fact(n-1);}}50002求a+aa+aaa+aa…a输入一6、个正整数repeat(07、taticvoidmain(Stringargs[]){intri,repeat;inti,n,a;longsn;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){a=in.nextInt();n=in.nextInt();/*------------*/sn=0;for(i=1;i<=n;i++)sn+=fn(a,i);System.out.println(sn);}}/*------------*/st8、aticintfn(inta,intn){//递归方法if(n==1)returna;elsereturnfn(a,n-1)*10+a;}}50006输出Fibonacci序列输入一个正整数repeat(0
2、ava.util.Scanner;publicclassTest50010{publicstaticvoidmain(Stringargs[]){intri,repeat;inti,n;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*---------*/dectobin(n);System.out.println();}}/*---------*/staticvoidd
3、ectobin(intn){Stringt="";//保存二进制数do{t=n%2+t;//n除2后的余数拼接到t的前面n=n/2;//获得除2后的商}while(n>0);System.out.print(t);//本方法无返回值,需要在方法体中输出结果}}说明:本题中方法dectobin(n)的输出虽然与要求有所出入,但上传是正确的。以下用递归算法实现方法的设计:50001求1+1/2!+....+1/n!输入一个正整数repeat(04、s的前n项的和(保留4位小数)。s=1+1/2!+....+1/n!要求定义并调用函数fact(n)计算n的阶乘。例:括号内是说明输入:2(repeat=2)2(n=2)10(n=10)输出:1.51.7183importjava.util.Scanner;publicclassTest50001{publicstaticvoidmain(String[]args){intri,repeat;inti,n;doubles;Scannerin=newScanner(System.in);repeat=in.nex5、tInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*-----------*/s=0;for(i=1;i<=n;i++)s+=1.0/fact(i);System.out.println((long)(s*10000+0.5)/10000.);}}/*---------------*/staticdoublefact(intn){//递归方法if(n==1)return1;elsereturnn*fact(n-1);}}50002求a+aa+aaa+aa…a输入一6、个正整数repeat(07、taticvoidmain(Stringargs[]){intri,repeat;inti,n,a;longsn;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){a=in.nextInt();n=in.nextInt();/*------------*/sn=0;for(i=1;i<=n;i++)sn+=fn(a,i);System.out.println(sn);}}/*------------*/st8、aticintfn(inta,intn){//递归方法if(n==1)returna;elsereturnfn(a,n-1)*10+a;}}50006输出Fibonacci序列输入一个正整数repeat(0
4、s的前n项的和(保留4位小数)。s=1+1/2!+....+1/n!要求定义并调用函数fact(n)计算n的阶乘。例:括号内是说明输入:2(repeat=2)2(n=2)10(n=10)输出:1.51.7183importjava.util.Scanner;publicclassTest50001{publicstaticvoidmain(String[]args){intri,repeat;inti,n;doubles;Scannerin=newScanner(System.in);repeat=in.nex
5、tInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*-----------*/s=0;for(i=1;i<=n;i++)s+=1.0/fact(i);System.out.println((long)(s*10000+0.5)/10000.);}}/*---------------*/staticdoublefact(intn){//递归方法if(n==1)return1;elsereturnn*fact(n-1);}}50002求a+aa+aaa+aa…a输入一
6、个正整数repeat(07、taticvoidmain(Stringargs[]){intri,repeat;inti,n,a;longsn;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){a=in.nextInt();n=in.nextInt();/*------------*/sn=0;for(i=1;i<=n;i++)sn+=fn(a,i);System.out.println(sn);}}/*------------*/st8、aticintfn(inta,intn){//递归方法if(n==1)returna;elsereturnfn(a,n-1)*10+a;}}50006输出Fibonacci序列输入一个正整数repeat(0
7、taticvoidmain(Stringargs[]){intri,repeat;inti,n,a;longsn;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){a=in.nextInt();n=in.nextInt();/*------------*/sn=0;for(i=1;i<=n;i++)sn+=fn(a,i);System.out.println(sn);}}/*------------*/st
8、aticintfn(inta,intn){//递归方法if(n==1)returna;elsereturnfn(a,n-1)*10+a;}}50006输出Fibonacci序列输入一个正整数repeat(0
此文档下载收益归作者所有