《java课后习题答案 .doc》由会员分享,可在线阅读,更多相关《java课后习题答案 .doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、习题111Java语言的主要贡献者是谁?Java之父 James Gosling习题24public class 表中的位置 public static void main(String args) / TODO Auto-generated method stubchar a = 思;char b = 故;char c = 乡;.println(int)a+,+(int)b+,+(int)c);习题34public class Xiti3_4 public static void main(String args) for(char a = ;a=;a+) .println(a); 习题35
2、public class 阶乘 public static void main(String args) int i = Jiecheng(20);.println(i);public static int Jiecheng(int i)int result = 0;if(i=1)result = 1;elseresult = i*Jiecheng(i-1);return result;习题37public class xiti3_7 public static void main(String args) int i=1;int a=0;while(a=9999)a+=Jiecheng(i)
3、;if(a=9999)i+;.println(i-1);public static int Jiecheng(int i)int result =0;if(i=1)result = 1;elseresult = i*Jiecheng(i-1);return result;习题4习题41类中的实例变量在什么时候会被分配内存空间?创建一个类的实例的时候,实例变量就会分配内存空间。42什么叫做方法的重载,构造方法可以重载么?重载:一个类中可以有多个方法,具有相同的名字,但是这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。构造方法可以重载,一个类里面可以有多个构造函数。43类中的
4、实例方法可以操作类变量么,类方法可以操作实例变量么?可以。不可以。44类中的实例方法可以通过类名直接调用么?不可以。45简述类变量和实例变量的区别1. 不同对象的实例变量互不相同2. 所有对象共享类变量3. 通过类名直接访问类变量46C,D是错误的,不能用protected和private修饰类。47略,48-100;局部变量的名字与成员变量的名字相同,则成员变量被隐藏。4927410“*”20,“#”100;习题551子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?若子类与父类在同一包中,子类继承父类除private访问权限以外的的变量和方法。若不在同一包中,子
5、类只继承父类中protected和public访问权限的成员变量和方法。成员变量的隐藏:如果所子类所声明的成员变量的名字和父类继承来的成员的名字相同,在这种情况下子类就会隐藏掉所继承的成员变量。方法的隐藏:子类可以通过重写,隐藏呀以继承的实例方法;52Final方法可以被子类重写么?不可以53Abstract类里可以有abstract方法54什么叫做对象的上转型对象?假设A类是B类的父类当用子类创建一个对象,并把这个对象的引用放到父类中时,这时称对象a是对象b的上转型对象55下列哪些叙述是正确的:(A) final类不可以有子类,正确。(B) abstract类只可以有abstract方法,错
6、误(C) abstract类可以有非abstract方法,但是该方法不可以用final关键字修饰,错误(D) 不可以同时用abstract和final修饰一个方法。正确56150,8.05798.0,12习题661接口中能声明变量么?不能。62接口中能定义非抽象方法么?不能63什么叫做接口的回调?接口回调是指:可以把实现某一接口的类创建的对象的阴影赋值给该接口声明的接口变量中,那么该接口变量就可以调用被该类实现的接口方法。实际上,当接口变量调用被该类实现的接口方法时,就是通知相应的对象调用这个方法64请说出.Println的输出结果。15.0; 8;6518;15;习题771怎样获取一维数组的
7、长度?数组名.length72怎样获取二维数组中一维数组的个数?数组名.length就是它含有一维数组的个数73False;true;false;3;4.4;8.874代码1输出结果:bird代码2输出结果:car75参考例77,输出从红,黄,蓝,绿,黑5中颜色取出三种不同颜色的排列。public class Xiti5 public static void main(String args) for(Color a:s()for(Color b:s()for(Color c:s()if(a!=b&a!=c&b!=c).println(a+,+b+,+c);.println(i);enum C
8、olor红,黄,蓝,绿,黑习题881内部类的外嵌类的成员变量在内部类中仍然有效么?有效。82内部类中的方法也可以调用外嵌类中的方法么?可以调用83内部类中的类体中可以声明类变量和类方法么?不可以。84请说出下列程序的输出结果:大家好,祝工作顺利!8596,乘数超过99习题991A: 正确,java把string类设置为final类不可以有子类B:string类在包中 正确C:“abc”=“abc”的值是false 错误D:”abc”.equals(“abc”)的值是true 正确92 请说出E类中的.println的输出结果love:Game93请说出E类中的输出结果15;abc我们94135
9、79959javahello96public class Xiti6 public static void main(String args) String str1 = hello;String str2 = World;String str3 = erCase();.println(str3);str3 = erCase();.println(str3);str3 = t(str2);.println(str3);97public class Xiti7 public static void main(String args) String str1 = Hello World!;char
10、 a = t(0);.println(a);a = t(h()-1);.println(a);98通过键盘输入年份和月份。程序输出相应的日历牌。import .Calendar;import .Scanner;public class Xiti8 public static void main(String args) Scanner reader = new Scanner();.println(请输入年份和月份,输入一次按一次回车);int x = nt();int y = nt();CalendaBeen cb = new CalendaBeen();cb.SetYear(x);cb.S
11、etMonth(y);String a = cb.getCalendar();char str = 日一二三四五六.toCharArray();for(char c:str).printf(%7c,c);for(int i = 0;ia.length;i+)if(i%7=0).println();.printf(%4s,ai);class CalendaBeenString day;int year = 0,month = 0;public void SetYear(int year) =year;public void SetMonth(int month) = month;public S
12、tring getCalendar()String a = new String42;Calendar rill = stance();(year, month-1,1);int weekDay = (_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;e
13、lse day = 28;for(int i=0;iweekDay;i+)ai= ;for(int i=weekDay,n=1;iweekDay+day;i+)ai=Of(n);n+;for(int i=weekDay+day;itime1)?(time2-time1)/(1000*60*60*24):(time1-time2)/(1000*60*60*24); .println(相隔+sub+天);1010略1011参看例919,编写程序剔除一个字符串中的全部非数字字符,例如,将形如“abc123you”的非数字字符全部剔除得到字符串“123”。import .er;import .rn;p
14、ublic class Xiti11 public static void main(String args) Pattern p;Matcher m;String regex = D1,;p = le(regex);String s = abc123you;m = p.matcher(s);.println(剔除以后的字符串);String result = m.replaceAll();.println(result);1012参看例921,使用Scanner类的实例解析,“数学87分,物理76分,英语96分”中的考试成绩,并计算出总成绩以及平均分数。import .Scanner;pub
15、lic class Xiti12 public static void main(String args) String Count = 数学87分,物理76分,英语96分;Scanner scanner = new Scanner(Count);limiter(+);int sum = 0;while(xt()int count = nt();sum +=count;double avg = sum/3;.println(总分数为+sum+平均分+avg);习题10101如果准备按字节读取一个文件的内容,应当使用FileInputStream流还是FileReader流?前者是以字节为单位顺
16、序的读取源中的数据,后者是以字符为单位顺序的读取源中的数据。102FileInputStream流的read方法和FileReader流的read方法有何不同?同上103BufferedReader流能直接指向一个文件么?不能,通过向BufferedReader传递一个Reader子类的对象,来创建一个BufferedReader对象104使用ObjectInputStream和ObjectOutputStream类有哪些注意事项?ObjectOutputStream的指向应当是一个输入流对象,因此当准备将一个对象写入到文件时,首先用OutputStream的子类创建一个输出流。同样Objec
17、tInputStream的指向应当是一个输入流对象,因此当准备从文件读入一个对象到程序中的时候,首先用InputStream的子类创建一个文件输入流。当使用对象流写入或者读入对象的时,要保证对象是序列化的。这是为了保证能把对象写入到文件,并能把对象正确读回到程序的缘故。105怎样使用输入输出流克隆对象?只需将该对象写入的对象的输出流的指向的目的地,然后将该目的地作为一个对象的输入流的源,那么该对象输入流从源中读回的对象一定是源对象的一个克隆,即对象输入流通过对象的序列化信息得到当前流的一个克隆。106使用RandomAccessFile流将一个文本文件倒置读出。import .*;public
18、 class Xiti6 public static void main(String args) RandomAccessFile inAndOut = null;int data = 1,2,3,4,5,6,7,8,9,0;tryinAndOut =new RandomAccessFile(,rw);for(int i=0;i=0;i-)(i*4);.printf(t%d,nt();();catch(IOException e)107使用java的输入输出流将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。108略109解析一个文件中的价格数据,并计算平均价格,
19、该文件的内容如下:商品列表:电视机,2567元/台洗衣机,3562元/台冰箱,6573元/台import .*;import .*;public class Xiti9 public static void main(String args) File file = new File();Scanner sc = null;double sum=0;int i=0;trysc = new Scanner(file);while(sc.hasNext()tryint price = sc.nextInt();sum+=price;i+;.println(price);catch(InputMismatchException exp)String t = sc.next();double avg =sum/i;.println(avg);.println(Total Cost +sum+ dollar);catch(Exception exp).println(exp);
限制150内