java2实用教程课后习题答案(第三版编程题)

上传人:s9****2 文档编号:497792157 上传时间:2024-03-04 格式:DOC 页数:38 大小:151.01KB
返回 下载 相关 举报
java2实用教程课后习题答案(第三版编程题)_第1页
第1页 / 共38页
java2实用教程课后习题答案(第三版编程题)_第2页
第2页 / 共38页
java2实用教程课后习题答案(第三版编程题)_第3页
第3页 / 共38页
java2实用教程课后习题答案(第三版编程题)_第4页
第4页 / 共38页
java2实用教程课后习题答案(第三版编程题)_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《java2实用教程课后习题答案(第三版编程题)》由会员分享,可在线阅读,更多相关《java2实用教程课后习题答案(第三版编程题)(38页珍藏版)》请在金锄头文库上搜索。

1、3. 编写应用程序,求1!+2!+10!。答:class Factpublic static void main(String args)int fact,sum=0;for(int i=1;i=10;i+)fact=1;for(int j=1;j=i;j+)fact*=j;sum+=fact;System.out.println(1到10的阶乘之和是:+sum);4. 编写一个应用程序,求100以内的全部素数。答:class Primespublic static void main(String args)int w=1;for(int i=2;i=100;i+)for(int j=2;j

2、i;j+)w=i%j;if(w=0)break;if(w!=0)System.out.println(i+是素数);5. 分别用dowhile和for循环计算1+1/2!+1/3!+1/4!+的前20项和。答: for循环class Sumpublic static void main(String args)int fact;double sum=0;for(int i=1;i=20;i+)fact=1;for(int j=1;j=i;j+)fact*=j;sum+=1.0/fact;System.out.println(sum);dowhile循环class Sumpublic stati

3、c void main(String args)int i=1;int fact;double sum=0;dofact=1;int j=0;while(+j=i)fact*=j;sum+=1.0/fact;while(+i=20);System.out.println(sum);6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序,求1000之内的所有完数。答:class Wanshu public static void main(String args)int x,i,sum;for(x=1;x=1000;x+)sum=0;for(i=1;ix;i+)if(x%i=0

4、)sum+=i;if(x=sum)System.out.println(x+是完数);7. 编写应用程序,分别使用while和for循环计算8+88+888+前10项之和。答: for循环class TheSumpublic static void main(String args)long sum=0,data=8;for(int i=1;i=10;i+)sum=sum+data;data=data*10+8;System.out.println(sum);while循环class TheSumpublic static void main(String args)long sum=0,da

5、ta=8,i=0;while(+i=10)sum=sum+data;data=data*10+8;System.out.println(sum);8. 编写应用程序,输出满足1+2+3+n8888的最大正整数n。答:class Maxnpublic static void main(String args)int k=1,sum=0;while(sum+=k)8888)k+;k-;System.out.println(最大能取到:+k);15.模仿例子4.27,编写一个类实现两个接口的程序。答: interface 表面积double allArea(double r);interface 体

6、积double volu(double r);class Sph implements 表面积,体积double PI=3.14159;public double allArea(double r)return 4*PI*r*r;public double volu(double r)return 4.0/3*PI*r*r*r;public class Testpublic static void main(String args)double r=5.0;Sph a=new Sph();System.out.println(半径为5的球的表面积是:+a.allArea(r);System.o

7、ut.println(半径为5的球的体积是:+a.volu(r);16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。答: class A int m;void f() for(m=65;m91;m+)System.out.print(char)m+ );for(m=97;m123;m+)System.out.print(char)m+ );System.out.println( );class B extends A i

8、nt i;void g() for(i=913;i930;i+)System.out.print(char)i+ );for(i=931;i938;i+)System.out.print(char)i+ );for(i=945;i962;i+)System.out.print(char)i+ );for(i=963;i1000) MyException exception=new MyException(m);throw exception;else System.out.println(m);public class Test public static void main(String a

9、grs) int m;Student stu1=new Student();m=987;try stu1.speak(m);m=1234;stu1.speak(m);catch(MyException e) e.showStr1(); 18.编写一个类,该类有一个方法public int f(int a,int b),该方法返回a和b的最大公约数。然后再编写一个该类的子类,要求子类重写方法f,而且重写的方法将返回a和b的最小公倍数。要求在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求在应用程序的主类中分别使用父类和子类创建对象,并分别调用方

10、法f计算两个正整数的最大公约数和最小公倍数。答: class Apublic int f(int a,int b)if(ab)int temp=0;temp=a;a=b;b=temp;int r=a%b;while(r!=0)a=b;b=r;r=a%b;return b;class B extends Apublic int f(int a,int b) int m;m=super.f(a,b);return (a*b)/m;public class Testpublic static void main(String args)A a=new A();System.out.println(18和102的最大公约数是:+a.f(18,102);B b=new B();Sy

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号