Java程序设计-精编教程(第2版)习题解答

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

习题解答习题一(第1章)1.JamesGosling2.需3个步骤:1)用文本编辑器编写源文件。2)使用javac编译源文件,得到字节码文件。3)使用解释器运行程序。3.setclasspath=D:\jdk\jre\lib\rt.jar;.;4.B5.Java源文件的扩展名是.java,Java字节码的扩展名是.class。6.D。习题二(第2章)1.2.Teacher.javapublicclassTeacher{doubleadd(doublea,doubleb){returna+b;}doublesub(doublea,doubleb){returna-b;}}Student.javapublicclassStudent{publicvoidspeak(){System.out.println(老师好);}}MainClass.javapublicclassMainClass{publicstaticvoidmain(Stringargs[]){Oxab187ractangle109.87width25.18heightOxab187lader18.12height165.65bottomTeacherzhang=newTeacher();System.out.println(zhang.add(12,236));System.out.println(zhang.add(234,120));Studentjiang=newStudent();jiang.speak();}}3.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。4.行尾风格。习题三(第3章)1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。true不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。classimplementsinterfaceenumextendsabstract。3.boolean,char,byte,short,int,long,float,double。4.属于操作题,解答略。5.属于操作题,解答略。6.publicclassE{publicstaticvoidmain(Stringargs[]){charcStart='A',cEnd='Z';for(charc=cStart;c=cEnd;c++)System.out.print(+c);}}7.不可以。习题四(第4章)1.110。不规范。2.新亲亲斤!!。3.publicclassJudgeAward{voidgiveMess(intnumber){if(number==9||number==131||number==12){System.out.println(number+是三等奖);}elseif(number==209||number==596||number==27){System.out.println(number+是二等奖);}elseif(number==875||number==316||number==59){System.out.println(number+是一等奖);}else{System.out.println(未中奖);}}}4.importjava.util.Scanner;publicclassComputer{publicstaticvoidmain(Stringargs[]){Scannerreader=newScanner(System.in);doubleamount=0;//存放电量doubleprice=0;//用户需要交纳的电费System.out.print(输入电量:);amount=reader.nextDouble();if(amount=90&&amount=1){price=amount*0.6;//计算price的值}elseif(amount=150&&amount=91){price=90*0.6+(amount-90)*1.1;//计算price的值}elseif(amount150){price=90*0.6+(150-90)*1.1+(amount-150)*1.7;//计算price的值}else{System.out.println(输入电量:+amount+不合理);}System.out.printf(电费:%5.2f,price);}}5.publicclassE{publicstaticvoidmain(Stringargs[]){charcStart='A',cEnd='Z';for(charc=cStart;c=cEnd;c++)System.out.printf(%2c,c);System.out.println();for(charc=cStart;c=cEnd;c++)System.out.printf(%2c,(c+32));}}6.publicclassXiti5{publicstaticvoidmain(Stringargs[]){intsum=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);}}}7publicclassE{publicstaticvoidmain(Stringargs[]){intn=1,i=1,jiecheng=1;longsum=0;while(true){jiecheng=1;for(i=1;i=n;i++){jiecheng=jiecheng*i;}sum=sum+jiecheng;if(sum9876)break;n++;}System.out.println(满足条件的最大整数:+(n-1));}}习题五(第5章)1.用类创建对象时。2.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。3.可以。不可以。4.不可以。5.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。6.CD。7.【代码1】【代码4】。8.sum=-100。9.27。10.100和20.0。习题六(第6章)1.如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法,继承的成员或方法的访问权限保持不变。当子类和父类不在同一个包中时,父类中的private和友好访问权限的成员变量不会被子类继承,也就是说,子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的protected和public访问权限的方法作为子类的方法。如果所声明的成员的变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量。2.不可以。3.abstract类。4.A类是B类的父类,当用子类创建一个对象b,并把这个对象b的引用放到父类的对象a中时,称a是b的上转型对象。5.AD。6.15.08.0。7.98.012。习题七(第7章)1.不能。2.不能。3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。4.15.08。5.1815。习题八(第8章)1.有效。2.可以。3.不可以。4.大家好,祝工作顺利!习题九(第9章)1.ABD。2.Love:Game。3.15abc我们。4.13579。5.9javaHello。6.publicclassE{publicstaticvoidmain(Stringargs[]){Strings1,s2,t1=ABCDabcd;s1=t1.toUpperCase();s2=t1.toLowerCase();System.out.println(s1);System.out.println(s2);Strings3=s1.concat(s2);System.out.println(s3);}}7.publicclassE{publicstaticvoidmain(Stringargs[]){Strings=ABCDabcd;charcStart=s.charAt(0);charcEnd=s.charAt(s.length()-1);System.out.println(cStart);System.out.println(cEnd);}}8.importjava.util.*;publicclassE{publicstaticvoidmain(Stringargs[]){Scannerread=newScanner(System.in);CalendarBeancb=newCalendarBean();intyear=2000,month=1;System.out.println(输入年:);year=read.nextInt();System.out.println(输入月:);month=read.nextInt();cb.setYear(year);cb.setMonth(month);String[]a=cb.getCalendar();//返回号码的一维数组char[]str=日一二三四五六.toCharArray();for(charc:str){System.out.printf(%3c,c);}for(inti=0;ia.length;i++){//输出数组aif(i%7==0)System.out.println();//换行System.out.printf(%4s,a[i]);}}}classCalendarBean{String[]day;intyear=0,month=0;publicvoidsetYear(intyear){this.year=year;}publicvoidsetMonth(intmonth){this.month=month;}publicString[]getCalendar(){String[]a=newString[42];Calendarrili=Calendar.getInstance();rili.set(year,month-1,1);intweekDay=rili.get(Calendar.DAY_OF_WEEK)-1;//计算出1号的星期intday=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;elseday=28;}for(inti=0;iweekDay;i++)a[i]=;for(inti=weekDay,n=1;iweekDay+day;i++){a[i]=String.valueOf(n);n++;}for(inti=weekDay+day;ia.length;i++)a[i]=;returna;}}9.importjava.util.*;publicclassE{publicstaticv

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功