ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:24.89KB ,
资源ID:12145741      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12145741.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java 课后大题问题详解.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java 课后大题问题详解.docx

1、java 课后大题问题详解第一章8. 编写一个Java应用程序,输出全部的希腊字母。答:public class XLWordspublic static void main(String args)for(int i=913;i930;i+)System.out.print(char)i+ );for(int j=931;j938;j+)System.out.print(char)j+ );for(int k=945;k962;k+)System.out.print(char)k+ );for(int t=963;t=969;t+) System.out.print(char)t+ );第三

2、章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;

3、ji;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 stat

4、ic 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 Wanshupublic 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=

5、0)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,d

6、ata=8,i=0;while(+i=10)sum=sum+data;data=data*10+8;System.out.println(sum);8. 编写应用程序,输出满足1+2+3+n8888的最大正整数n。答:class Maxn public static void main(String args)int k=1,sum=0;while(sum+=k)8888)k+;k-;System.out.println(最大能取到:+k);第四章15.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。答:一个类使用接口时,要有implements关键字,当一个类使用多个

7、接口时,接口名要用逗号“,”隔开;使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return语句。 interface 表面积double allArea(double r);interface 体积double volu(double r);class Sph implements 表面积,体积double PI=3.14159;public double allArea(doub

8、le 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.out.println(半径为5的球的体积是:+a.volu(r);16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f

9、(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。答: class Aint 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 Aint i;void g()for(i=913;i930;i+)System.out.print(char)i+ );for(i=931;i938;i+)System.out.print(char

10、)i+ );for(i=945;i962;i+)System.out.print(char)i+ );for(i=963;i1000)MyException exception=new MyException(m);throw exception;elseSystem.out.println(m);public class Testpublic static void main(String agrs)int m;Student stu1=new Student();m=987;trystu1.speak(m);m=1234;stu1.speak(m);catch(MyException e)

11、e.showStr1();18.编写一个类,该类有一个方法public int f(int a,int b),该方法返回a和b的最大公约数。然后再编写一个该类的子类,要求子类重写方法f,而且重写的方法将返回a和b的最小公倍数。要求在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求在应用程序的主类中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数。答: class Apublic int f(int a,int b)if(ab)int temp=0;temp=a;a=b;b=temp;int r=a%b;whi

12、le(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();System.out.println(18和102的最小公倍数是:+b.f(18,102);第六章1. 用Data类不带参数的构造方法创

13、建日期,要求日期的输出格式是:星期 小时 分 秒。答: import java.util.*;import java.text.*;class Testpublic static void main(String args)Date 时间=new Date();SimpleDateFormat s=new SimpleDateFormat(E HH时 mm分 ss秒);System.out.println(s.format(时间);2. 输出2006年2月的日历页,程序需处理闰年问题。答: import java.util.*;class Testpublic static void main

14、(String args)int year=2006,month=2;int allDay;if(year%4=0&year%100!=0)|(year%400=0)allDay=29;elseallDay=28;Calendar feb=Calendar.getInstance();feb.set(2006,1,1);int dat=feb.get(Calendar.DAY_OF_WEEK)-1;String a=new Stringdat+allDay;for(int i=0;idat;i+)ai= ;for(int i=dat,n=1;i(dat+allDay);i+)if(n=9)ai

15、=String.valueOf(n)+ ;elseai=String.valueOf(n)+ ;n+;System.out.println( +year+ 年 +month+月);System.out.println(日 一 二 三 四 五 六);for(int j=0;ja.length;j+)if(j%7=0)System.out.println( );System.out.print(aj);3. 计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日通过main方法的参数传递到程序中。答: import java.util.*;class Testpublic stati

16、c void main(String args)Calendar c=Calendar.getInstance();c.set(2000,0,1);long time1=c.getTimeInMillis();c.set(2008,7,8);long time2=c.getTimeInMillis();long dayCous=(time2-time1)/(1000*60*60*24);System.out.println(2008年8月8日和2000年1月1日相隔+dayCous+天);4. 编程练习 Math类的常用方法。答: import java.text.*;public class

17、 Testpublic static void main(String args)double a=Math.abs(-10);System.out.println(-10的绝对值是:+a);double maxNum=Math.max(123.456,-5.4321);System.out.println(123.456与-5.4321中的最大值是:+maxNum);double minNum=Math.min(123.456,-5.4321);System.out.println(123.456与-5.4321中的最小值是:+minNum);int randomNum=(int)(Math

18、.random()*10)+1;System.out.println(输出一个1到10的随机数是:+randomNum);double powNum=Math.pow(2,10);System.out.println(2的10次幂是:+powNum);double sqrtNum=Math.sqrt(10);System.out.println(10的平方根是:+sqrtNum);double logNum=Math.log(2);System.out.println(2的对数是:+logNum);double sinNum=Math.sin(-10);System.out.println(-

19、10的正弦值是:+sinNum);double asinNum=Math.asin(0.5);System.out.println(0.5的反正弦值是:+asinNum);System.out.println(格式化之前的数是:+sqrtNum);NumberFormat f=NumberFormat.getInstance();f.setMaximumFractionDigits(10);f.setMinimumIntegerDigits(4);String s=f.format(sqrtNum);System.out.println(格式化后:+s);5. 使用BigInteger类计算1

20、!+3!+5!+7!+的前30项的和。答: import java.math.*;public class Testpublic static void main(String args)BigInteger sum=new BigInteger(0),jieCheng=new BigInteger(1),ONE=new BigInteger(1),i=ONE;int k=0;while(+k=30)sum=sum.add(jieCheng);i=i.add(ONE);jieCheng=jieCheng.multiply(i);i=i.add(ONE);jieCheng=jieCheng.mu

21、ltiply(i);System.out.println(sum);第七章4. 编写应用程序,有一个标题为“计算的窗口”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区,同时对输入的数进行求和运算并求出平均值,也就是说随着输入的变化,另一个文本区不断地更新求和及平均值。答: import java.awt.*;import java.awt.event.*;import java.util.*;class Calculated extends Frame implements TextListenerTextArea text

22、1,text2; /定义了2个文本区Calculated(String s) /标题为“计算的窗口”的窗口super(s);setLayout(new FlowLayout(); /窗口布局为FlowLayouttext1=new TextArea(5,23);text2=new TextArea(5,23);add(text1);add(text2);text2.setEditable(false); /显示求和结果和平均值的文本区禁止编辑text1.addTextListener(this);addWindowListener(new WindowAdapter()public void

23、windowClosing(WindowEvent e)System.exit(0););setBounds(100,100,400,160);setVisible(true);validate();public void textValueChanged(TextEvent e)String s=text1.getText();StringTokenizer geshu=new StringTokenizer(s);int n=geshu.countTokens();double a=new doublen;for(int i=0;in;i+)String temp=geshu.nextTo

24、ken();double date=Double.parseDouble(temp);ai=date;double sum=0,average;for(int i=0;in;i+)sum=sum+ai;average=sum/n;text2.setText(null);text2.append(和:+sum+n+平均数:+average);public class Testpublic static void main(String args)Calculated calc=new Calculated(计算的窗口);5. 文本区可以使用getSelectedText()方法获取该文本区通过拖

25、动鼠标选中的文件。编写应用程序,有一个标题为“挑单词”的窗口,窗口的布局为BorderLayout布局。窗口中添加两个文本去和一个按钮组件,要求文本区分别添加到窗口的东部区域和西部区域;按钮添加到窗口的南部区域,当单击按钮时,程序将东部区域的文本区中鼠标选中的内容尾加到西部区域的文本区中。答: import java.awt.*;import java.awt.event.*;class WindowSelectedText extends Frame implements ActionListenerTextArea text1,text2; /定义2个文本区Button button; /

26、定义一个按钮WindowSelectedText(String s) /窗口名字为“挑单词”super(s);setLayout(new BorderLayout(); /窗口布局是BorderLayout布局text1=new TextArea(6,15);text2=new TextArea(6,15);button=new Button(确定);add(text1,BorderLayout.EAST);add(text2,BorderLayout.WEST);add(button,BorderLayout.SOUTH);button.addActionListener(this);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););text2.se

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1