java课后习题答案_第1页
java课后习题答案_第2页
java课后习题答案_第3页
java课后习题答案_第4页
java课后习题答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、习题11 1Java语言的主要贡献者是谁?Java 之父 James Gosling习题2 4public class 表中的位置publicstaticvoidmain(String口 args) / TODO Auto-generated method stub chara ='思';charb ='故;charc ='乡;System. out .println( int )a+ "," +( int )b+ "," +( int )c); 习题3 4public class Xiti3_4 public stati

2、c void main(String口 args) for ( char a =' A<a<= ' a <a+)System. out .println(a);习题3 5public class 阶乘public static void main(String口 args) int i = Jiecheng (20);System. out .println(i);public static int Jiecheng( int i) int result = 0; if (i=1) result = 1;elseresult = i* Jiecheng (i-

3、1); return result;习题3 7public class xiti3_7 public static void main(String口 args) int i=1;int a=0; while (a<=9999) a+= Jiecheng (i); if (a<=9999) i+; System. out .println(i-l); public static int Jiecheng( int i) int result =0; if (i=1)result = 1; elseresult = i* Jiecheng (i-1); return result;即

4、或者是参 习题4 习题4 1 类中的实例变量在什么时候会被分配内存空间? 创建一个类的实例的时候,实例变量就会分配内存空间。 4 2 什么叫做方法的重载,构造方法可以重载么? ? 重载:一个类中可以有多个方法,具有相同的名字,但是这些方法的参数必须不同, 数的个数不同,或者是参数的类型不同。构造方法可以重载,一个类里面可以有多个构造函数。 4 3类中的实例方法可以操作类变量么,类方法可以操作实例变量么? 可以。不可以。4一4类中的实例方法可以通过类名直接调用么? 不可以。45 简述类变量和实例变量的区别 1.不同对象的实例变量互不相同 2.所有对象共享类变量 3.通过类名直接访问类变量 4一6

5、C,D是错误的,不能用 protected和private修饰类。 4一7 略,48-100;局部变量的名字与成员变量的名字相同,则成员变量被隐藏。49 27410“* ” 20, “#" 100;习题551子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?若子类与父类在同一包中,子类继承父类除private访问权限以外的的变量和方法。若不在同一包中,子类只继承父类中protected和public访问权限的成员变量和方法。成员变量的隐藏:如果所子类所声明的成员变量的名字和父类继承来的成员的名字相同,在这种情况下子类就会隐藏掉所继承的成员变量。方法的隐藏:

6、子类可以通过重写,隐藏呀以继承的实例方法;52Final方法可以被子类重写么?不可以53Abstract类里可以有 abstract方法54什么叫做对象的上转型对象?假设A类是B类的父类当用子类创建一个对象,并把这个对象的引用放到父类中时,这时称对象a是对象b的上转型对象55下列哪些叙述是正确的:(A) final类不可以有子类,正确。(B) abstract类只可以有 abstract方法,错误(C) abstract类可以有非abstract方法,但是该方法不可以用final关键字修饰,错误(D) 不可以同时用 abstract和final修饰一个方法。正确5615. 0, 8.05798

7、.0, 12习题661接口中能声明变量么?不能。62接口中能定义非抽象方法么?不能63什么叫做接口的回调?接口回调是指:可以把实现某一接口的类创建的对象的阴影赋值给该接口声明的接口变量中,那么该接口变量就可以调用被该类实现的接口方法。实际上,当接口变量调用被该类实现的接口方法时,就是通知相应的对象调用这个方法64请说出System.out.Println的输出结果。15.0; 8;6518; 15;习题771怎样获取一维数组的长度?数组名.length72怎样获取二维数组中一维数组的个数?数组名.length就是它含有一维数组的个数73False; true; false; 3; 4.4; 8

8、.87一4代码1输出结果:bird代码2输出结果:car75参考例7 7,输出从红,黄,蓝,绿,黑 5中颜色取出三种不同颜色的排列。public class Xiti5 public static void main(String口 args) for (Color a:Color. values () for (Color b:Color. values () for (Color c:Color. values () if (a!=b&&a!=c&&b!=c) System. out .println(a+ "," +b+ ",

9、" +c); System. out .println(i);enum Color红,黄,蓝,绿,黑 习题88 1内部类的外嵌类的成员变量在内部类中仍然有效么?有效。 8 2 内部类中的方法也可以调用外嵌类中的方法么? 可以调用 8 3内部类中的类体中可以声明类变量和类方法么? 不可以。8 4 请说出下列程序的输出结果: 大家好,祝工作顺利!8 5 96 ,乘数超过99 习题99 1A : 正确,java 把string类设置为final类不可以有子类B: string 类在java.lang 包中正确 C: "abc " = "abc "的值

10、是 false 错误D: "abc ” .equals(abc ")的值是 true 正确9 2 请说出E类中的System.out.println的输出结果love : Game 9 3 请说出E类中的输出结果 15 ; abc我们 9 4 13579 9 5 9javahello 9 6 public class Xiti6 public static void main(String口 args) String str1 ="hello"String str2 ="World"String str3 = str1.toUpper

11、Case(); System. out .println(str3); | str3 = str2.toLowerCase();System. out . println (str3); str3 = str1.concat(str2);System. out .println(str3); | 9 7 public class Xiti7 public static void main(String口 args) String strl = "Hello World!" ; char a = str1.charAt(0);System. out .println(a);

12、a = str1.charAt(str1.length()-1); System. out .println(a); 9 8 通过键盘输入年份和月份。程序输出相应的日历牌。import java.util.Calendar;import java.util.Scanner;public class Xiti8 public static void main(String口 args) Scanner reader = new Scanner(System. in );System. out .println( "请输入年份和月份,输入一次按一次回车");int x = re

13、ader.nextInt(); int y = reader.nextInt();CalendaBeen cb = new CalendaBeen();cb.SetYear(x);cb.SetMonth(y);String a = cb.getCalendar();char 口 str ="日一二三四五六".toCharArray();for ( char c:str) System. out .printf( "%7c" ,c);for ( int i = 0;i<a. length ;i+) if (i%7=0)System. out .pri

14、ntln();System. out .printf( "%4s" ,ai); class CalendaBeen String day ;int year = 0, month = 0;public void SetYear( int year) this . year =year;public void SetMonth( int month)this . month = month;public String口 getCalendar() String口 a = new String42;Calendar rill = Calendar.getInstance ();

15、rill.set( year , month -1,1); int weekDay = rill.get(Calendar.DAY_OF_WEEK)-1;int day=0;if ( month =1| month = 3| 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

16、 day = 28; for ( inti=0;i<weekDay;i+)ai=""for ( inti=weekDay,n=1;i<weekDay+day;i+) ai=String. valueOf (n);n+;for ( int i=weekDay+day;i<a. length ;i+) ai="" return a;9 9计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日通过键盘输入。import java.util.Calendar;import java.util.Scanner;public clas

17、s Xiti9 public static void main(String口 args) Calendar calendar = Calendar.getInstance ();Scanner reader = new Scanner(System. in );System. out .println( "请输入年份"); int year = reader.nextInt();System. out .println( "请输入月份");int month = reader.nextInt(); System. out .println( "

18、;请输入日子"); int day = reader.nextInt();calendar.set(year, month-1, day);long time1 = calendar.getTimeInMillis(); System. out .println( "请输入年份"); year = reader.nextInt();System. out .println( "请输入月份"); month = reader.nextInt();System. out .println( "请输入日子"); day = rea

19、der.nextInt();calendar.set(year, month-1, day);long time2 = calendar.getTimeInM川is(); longsub=(time2>time1)?(time2-time1)/(1000*60*60*24):(time1-time2)/(100 0*60*60*24);System. out .println( "相隔"+sub+ "天"); 1010略1011参看例919 ,编写程序剔除一个字符串中的全部非数字字符,例如,将形如“ abc123you ”的非数字字符全部剔除得到字

20、符串“123 ”。import java.util.regex.Matcher;import java.util.regex.Pattern; public class Xiti11 public static void main(String口 args) Pattern p;Matcher m;String regex ="D1,"p = Pattern. compile (regex); String s = "abc123you" ;m = p.matcher(s); System. out .println( "剔除以后的字符串&qu

21、ot;); String result = m.replaceAll("");System. out .println(result); 1012参看例9 21 ,使用Scanner类的实例解析,“数学 87分,物理76分,英语96分”中的考试成 绩,并计算出总成绩以及平均分数。import java.util.Scanner; public class Xiti12 public static void main(String口 args) String Count ="数学87分,物理76分,英语96分"Scanner scanner = new S

22、canner(Count); scanner.useDelimiter("0123456789+");int sum = 0; while (scanner.hasNext() int count = scanner.nextInt(); sum +=count; double avg = sum/3; System. out .println("总分数为"+sum+ "平均分"+avg); 习题10 101如果准备按字节读取一个文件的内容,应当使用FileInputStream 流还是FileReader 流?前者是以字节为单位顺序

23、的读取源中的数据,后者是以字符为单位顺序的读取源中的数据。102FileInputStream 流的read方法和FileReader 流的read方法有何不同? 同上 103BufferedReader流能直接指向一个文件么?不能,通过向 BufferedReader传递一个Reader子类的对象,来创建一个BufferedReader对象104使用 ObjectInputStream 和 ObjectOutputStream类有哪些注意事项?ObjectOutputStream的指向应当是一个输入流对象,因此当准备将一个对象写入到文件时,首先用OutputStream的子类创建一个输出流。

24、同样 ObjectInputStream的指向应当是一个输入流对象,因此当准备从文件读入一个对象到程序中的时候,首先用InputStream的子类创建一个文件输入流。 当使用对象流写入或者读入对象的时,要保证对象是序列化的。这是为了保证能把对象写入到文件,并能把对象正确读回到程序的缘故。105怎样使用输入输出流克隆对象? 只需将该对象写入的对象的输出流的指向的目的地,然后将该目的地作为一个对象的输入流的源,那么该对象输入流从源中读回的对象一定是源对象的一个克隆,即对象输入流通过对象的序列化信息得到当前流的一个克隆。106使用RandomAccessFile流将一个文本文件倒置读出。import java.io.*; public class Xiti6 nullpublic static void main(String args) RandomAccessFile inAndOut = int data口 = 1,2,3,4,5,6,7,8,9,0;try inAndOut = new RandomAccessFile( "tom.dat" , "rw"); for (int i=0;i<data. length ;i+) inAndOut.w

温馨提示

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

评论

0/150

提交评论