java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案.doc_第1页
java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案.doc_第2页
java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案.doc_第3页
java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案.doc_第4页
java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案.doc_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java2实用教程耿祥义 张跃平编著(3版)习题解答1-17章完整版.doc第一章习题1 需3个步骤:1) 用文本编辑器编写源文件 2) 使用javac编译源文件,得到字节码文件3) 应用程序使用解释器运行;小应用程序使用浏览器运行。2 应用程序必须有一个类含有public static void main(String args)方法,含有该方法的类称为应用程序的主类。小应用程序必须有一个类是java.applet.Applet类的子类,该类称做主类。应用程序中可以没有public类,若有的话可以是应用程序中的任何一个类。小应用程序的主类必须用public修饰。3 java的源程序是由若干个书写形式互相独立的类组成的。小应用程序的主类必须用public修饰。应用程序中可以没有public类,若有的话可以是应用程序中的任何一个类。一个java的源程序至多可以有一个public类。Java源文件的名字可以和其中某个类的名字相同,扩展名是.java,但是,如果源程序中有public类,那么源文件的名字必须和这个public类的名字相同,扩展名是.java。4属于操作,解答略。第二章习题1用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符2关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。3boolean ,char,byte,short,int,long,float,double。4b=x;5 数组b的长度为4b0=16属于操作题,解答略。7属于操作题,解答略。8public class E public static void main (String args ) char cStart=,cEnd=; for(char c=cStart;c=cEnd;c+) System.out.print( +c); 第三章习题1你爱她2beep!3public class Xiti3_3 public static void main(String args) double sum=0,a=1;int i=1; while(i=20) sum=sum+a; i+; a=a*i; System.out.println(sum=+sum); 4public class Xiti4 public static void main(String args) int i,j; for(j=2;j=100;j+) for(i=2;ij/2) System.out.print( +j); 5class Xiti5 public static void main(String args) double sum=0,a=1,i=1; do sum=sum+a; i+; a=(1.0/i)*a; while(i=20); System.out.println(使用do-while循环计算的sum=+sum); for(sum=0,i=1,a=1;i=20;i+) a=a*(1.0/i); sum=sum+a; System.out.println(使用for循环计算的sum=+sum); 6class Xiti6 public static void main(String args) int sum=0,i,j; for(i=1;i=1000;i+) for(j=1,sum=0;ji;j+) if(i%j=0) sum=sum+j; if(sum=i) System.out.println(完数:+i); 7public class E Xiti7 public static void main(String args) int m=8,item=m,i=1; long sum=0; while(i=10) sum=sum+item; i+; item=item*10+m; System.out.println(sum); for(i=1,sum=0,item=m;i=8888) break; System.out.println(满足条件的最大整数:+(n-1); 第四章习题1 用该类创建对象时。2 一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同3 可以。不可以。4 不可以。5 如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。6成员变量又分为实例变量和类变量,用static修饰的变量是类变量。那么类变量和实例变量有什么区别呢?一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间,如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量。7 如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员或方法的访问权限保持不变。如果子类和父类不在同一个包中,那么子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法,继承的成员或方法的访问权限保持不变。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。如果子类中有一个方法和父类的方法名字相同,而类型不同,那么必须保证参数不同,否则将发生重载错误。8不可以。9abstract类。10. 假设B类是A类子类或间接子类,当我们用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,称这个A类对象是子类对象的上转型对象。11可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。12. main方法是static方法,不能操作类的实例成员,因此,程序中的float c=a+b;语句是错误的。13 10014 810015接口体中包含常量定义和方法定义两部分。接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号“;”结尾。如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。在类中实现接口的方法时,方法的名字、返回类型、参数个数及类型必须与接口中的完全一致。要注意的是,接口中的方法被默认是public的,所以类在实现接口方法时,一定要用public来修饰。另外,如果接口的方法的返回类型如果不是void的,那么在类中实现该接口方法时,方法体至少要有一个return语句;如果是void型,类体除了两个大括号外,也可以没有任何语句。如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是 abstract类。16class A public final void f() char cStart=a,cEnd=z; for(char c=cStart;c=cEnd;c+) System.out.print( +c); class B extends A public void g() char cStart=,cEnd=; for(char c=cStart;c1000) throw new MyException(m); System.out.println(m); public class Xiti17 public static void main (String args ) Student b=new Student(); try b.speak(555); b.speak(8888); catch(MyException e) System.out.println(e.toString(); 18class NopositiveException extends Exception String message; NopositiveException(int m,int n) message=数字+m+或+n+不是正整数; public String toString() return message; class A public int f(int a,int b) throws NopositiveException if(a=0|b=0) NopositiveException exception=new NopositiveException(a,b); throw exception; if(ba) int temp=0; temp=a; a=b; b=temp; int r=b%a; while(r!=0) b=a; a=r; r=b%a; return a; class B extends A public int f(int a,int b) throws NopositiveException int division=super.f(a,b); return (a*b)/division; public class Xiti18 public static void main (String args ) A a=new A(); B b=new B(); try System.out.println(最大公约数 :+a.f(36,24); System.out.println(最小公倍数 :+b.f(36,24); catch(NopositiveException e) System.out.println(e.toString(); 第五章习题1import java.applet.*;import java.awt.*;public class Boy extends Applet public void paint(Graphics g) String s1,s2,t1=ABCDabcd; s1=t1.toUpperCase(); s2=t1.toLowerCase(); g.drawString(s1,30,60); g.drawString(s2,30,90); 2import java.applet.*;import java.awt.*;public class Boy extends Applet public void paint(Graphics g) String s1,s2,s3,t1=ABCDabcd; s1=t1.toUpperCase(); s2=t1.toLowerCase(); s3=s1.concat(s2); g.drawString(s1,30,60); g.drawString(s2,30,90); g.drawString(s3,30,120); 3属于操作题,解答略。4属于操作题,解答略。5属于操作题,解答略。第六章习题1import java.util.Date;import java.text.SimpleDateFormat;public class Xiti1 public static void main(String args) Date nowTime=new Date(); SimpleDateFormat matter= new SimpleDateFormat(E dd日HH时mm分); String favorFormat=matter.format(nowTime); System.out.println(favorFormat); 2import java.util.Calendar;class CalendarBean int year,month,nextDay; public void setYear(int year) this.year=year; public int getYear() return year; public void setMonth(int month) this.month=month; public int getMonth() return month; public String getCalendar() String a=new String67; Calendar 日历=Calendar.getInstance(); 日历.set(year,month-1,1); int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1; int day=0; if(month=1|month=3|month=5|month=7|month=8|month=10|month=12) day=31; if(month=4|month=6|month=9|month=11) day=30; if(month=2) if(year%4=0)&(year%100!=0)|(year%400=0) day=29; else day=28; nextDay=1; for(int k=0;k6;k+) if(k=0) for(int j=星期几;j7;j+) akj=+nextDay ; nextDay+; else for(int j=0;j7&nextDay=day;j+) akj=+nextDay ; nextDay+; return a; public class Xiti2 public static void main(String args) CalendarBean cb=new CalendarBean(); cb.setYear(2006); cb.setMonth(2); String rili=cb.getCalendar(); String titile=日,一,二,三,四,五,六; for(int i=0;ititile.length;i+) System.out.printf(%4s,titilei); System.out.println(); for(int i=0;irili.length;i+) for(int j=0;jrilii.length;j+) if(riliij!=null) System.out.printf(%5s,riliij); else System.out.printf(%5s, ); System.out.println(); 3public class Xiti3 public static void main(String args) int year1,month1,day1,year2,month2,day2; try year1=Integer.parseInt(args0); month1=Integer.parseInt(args1); day1=Integer.parseInt(args2); year2=Integer.parseInt(args3); month2=Integer.parseInt(args4); day2=Integer.parseInt(args5); catch(NumberFormatException e) year1=2007; month1=0; day1=1; year2=2008; month2=0; day2=1; Calendar calendar=Calendar.getInstance(); calendar.set(year1,month1,day1); long timeYear1=calendar.getTimeInMillis(); calendar.set(year2,month2,day2); long timeYear2=calendar.getTimeInMillis(); long 相隔天数=Math.abs(timeYear1-timeYear2)/(1000*60*60*24); System.out.println(+year1+年+month1+月+day1+日和+ year2+年+month2+月+day2+日相隔+相隔天数+天); 4public class Xiti4 public static void main(String args) double a=0,b=0,c=0; a=12; b=24; c=Math.max(a,b); System.out.println(c); c=Math.min(a,b); System.out.println(c); c=Math.pow(2,3); System.out.println(c); c=Math.abs(-0.123); System.out.println(c); c=Math.asin(0.56); System.out.println(c); c=Math.cos(3.14); System.out.println(c); c=Math.exp(1); System.out.println(c); c=Math.log(8); System.out.println(c); 5import java.math.*;public class E public static void main(String args) BigInteger sum=new BigInteger(0), xiang=new BigInteger(1), ONE=new BigInteger(1), TWO=new BigInteger(2), i=ONE, m=new BigInteger(60); while(pareTo(m)=0) if(i.remainder(TWO).compareTo(ONE)=0) sum=sum.add(xiang); i=i.add(ONE); xiang=xiang.multiply(i); System.out.println(sum); 第七章习题1Frame容器的默认布局是BorderLayout布局,Panel容器的默认布局是FlowLayout布局。2不可以3可以4import java.util.StringTokenizer;import java.awt.*;import java.awt.event.*; public class Xiti4 public static void main(String args) ComputerFrame fr=new ComputerFrame(); fr.setTitle(计算的窗口); class ComputerFrame extends Frame implements TextListener TextArea text1,text2; int count=1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论