java2实用教程第4版答案

上传人:简****9 文档编号:52098098 上传时间:2022-02-07 格式:DOCX 页数:97 大小:355.90KB
收藏 版权申诉 举报 下载
java2实用教程第4版答案_第1页
第1页 / 共97页
java2实用教程第4版答案_第2页
第2页 / 共97页
java2实用教程第4版答案_第3页
第3页 / 共97页
资源描述:

《java2实用教程第4版答案》由会员分享,可在线阅读,更多相关《java2实用教程第4版答案(97页珍藏版)》请在装配图网上搜索。

1、JAVA2实用教程习题解答习题一(第1章)一、问答题1. JamesGosling2. 需3个步骤:用文本编辑器编写源文件。使用javac编译源文件,得到字节码文件。使用解释器运行程序。3. 由类所构成,应用程序必须有一个类含有publicstaticvoidmain(Stringargs)方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。4. setclasspath=D:jdkjrelibrt.jar;.;5. java和class6. javaBird7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1. B2. Do三、

2、阅读程序1.(a)Person.java。(b)两个字节码,分别是Person.clas环口Xiti.classo(c)得至U“NoSuchMethodErrorf得至U“NoClassDefFoundError:Xiti/class得至您好,很高兴认识您nicetomeetyou”习题二(第2章)一、问答题1. 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2. 关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。classimple

3、mentsinterfaceenumextendsabstracto3. boolean,char,byte,short,int,long,float,double。4. float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5. 一维数组名.length。二维数组名.length。二、选择题1. C2. ADF3. B4. BE5. 【代码2】Ut码31【代码4】【代码5】6. B。三、阅读或调试程序1 .属于操作题,解答略。2 .属于操作题,解答略。3 .属于操作题,解答略。4 .【代码114。【代码2:b01。5.【代码110。【代码2】:7四、编写程序1.

4、publicclassEpublicstaticvoidmain(Stringargs)System.out.println(int)彳);System.out.println(int)我);System.out.println(int)他);2. publicclassEpublicstaticvoidmain(Stringargs)charcStart=%,cEnd=w;for(charc=cStart;c=cEnd;c+)System.out.print(+c);3 / 98习题三(第3章)一、问答题1 .boolean2 .不可以3 .boolean4 .不是必须的5 .结束while

5、语句的执行6 .可以二、选择题1. A。2. C。3. Co三、阅读程序1. 你苹甜2. Jeep好好3. x=-5,y=-1四、编程序题1. publicclassXitilpublicstaticvoidmain(Stringargs)7 / 98doublesum=0,a=1;inti=1;while(i=10)sum=sum+a;i+;a=a*i;System.out.println(sum=+sum);2. publicclassXiti2publicstaticvoidmain(Stringargs)inti,j;for(j=2;j=100;j+)for(i=2;ij/2)Syst

6、em.out.print(+j);3. classXiti3publicstaticvoidmain(Stringargs)doublesum=0,a=1,i=1;dosum=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);4. publicclassXiti4publicstaticvoidmain(Stringar

7、gs)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);5. publicclassXiti5publicstaticvoidmain(Stringargs)intm=8,item=m,i=1;longsum=0;for(i=1,sum=0,item=m;i=8888)break;System.out.println(满足条件的最大整数:+(n-1);习题四(第4章)一、问答题1 .封装、继承和多态。2 .当类名由几个单词复合而成时,每

8、个单词的首字母使用大写。3 .名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。4 .属性5 .行为6 .用类创建对象时。没有类型7 .用类创建对象时。8 .一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9 .可以。不可以。10 不可以。1 .一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。2 .代表调用当前方法的对象。不可以。二、选择题1. B2. D3. D4. D5

9、. CD6. 【代码11【代码4】7. 【代码4】。三、阅读程序1 .【代码1】:1,【代码2】:121,【代码3】21。2. sum=00。3.7。4.【代码11:100,【代码2】:200。5.上机实习题目,解答略。6.上机实习题目,解答略。四、编程题CPU.javapublicclassCPUintspeed;intgetSpeed()returnspeed;publicvoidsetSpeed(intspeed)this.speed=speed;HardDisk.javapublicclassHardDisk9 / 98intamount;intgetAmount()returnamo

10、unt;publicvoidsetAmount(intamount)this.amount=amount;PC.javapublicclassPCCPUcpu;HardDiskHD;voidsetCPU(CPUcpu)this.cpu=cpu;voidsetHardDisk(HardDiskHD)this.HD=HD;voidshow()System.out.println(CPU速度:+cpu.getSpeed();System.out.println(硬盘容量:+HD.getAmount();11/98Test.javapublicclassTestpublicstaticvoidmain

11、(Stringargs)CPUcpu=newCPU();HardDiskHD=newHardDisk();cpu.setSpeed(2200);HD.setAmount(200);PCpc=newPC();pc.setCPU(cpu);pc.setHardDisk(HD);pc.show();习题五(第5章)一、问答题1 .不可以。2 .是。3 .不继承。4 .声明与父类同名的成员变量。# / 985 .子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类

12、的状态和行为改变为自身的状态和行为。6 .不可以。7 .Abstract类。8 .上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。9 .通过重写方法。10 面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。二、选择题1. C2. D3. CD4. D5. B6. B7. D8. B9. Ao三、阅读程序1 .【代码11:150。【代码2】:80。2 .【代码113 。【代码2】4 。3.【代码11:980

13、。【代码2】2。【代码3】:980。【代码4】9。4.【代码1120。【代码2】20。【代码3】:00。四、编程题Animal.javapublicabstractclassAnimalpublicabstractvoidcry();publicabstractStringgetAnimalName();13 / 98Simulator.javapublicclassSimulatorpublicvoidplaySound(Animalanimal)System.out.print(现在播放+animal.getAnimalName()+”类的声音:”);animal.cry();Dog.ja

14、vapublicclassDogextendsAnimalpublicvoidcry()System.out.println(汪汪.汪汪)publicStringgetAnimalName()return狗;Cat.javapublicclassCatextendsAnimalpublicvoidcry()System.out.println(哺哺.口苗口苗)publicStringgetAnimalName()return猫;Application.javapublicclassExample5_13publicstaticvoidmain(Stringargs)Simulatorsimul

15、ator=newSimulator。;simulator.playSound(newDog();simulator.playSound(newCat();习题六(第6章)一、问答题1 .不能。2 .不能。3 .可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。4 .不可以。5 .可以。15 / 98二、选择题1. D2. AB3. Bo三、阅读程序1 .【代码11:150。【代码2】8。2 .【代码113 。【代码2】5 。四、编程题Animal.javapublicinterfaceAnimalpublicabstractvoi

16、dcry();publicabstractStringgetAnimalName();Simulator.javapublicclassSimulatorpublicvoidplaySound(Animalanimal)System.out.print(现在播放+animal.getAnimalName()+”类的声音:);animal.cry();Dog.javapublicclassDogimplementsAnimalpublicvoidcry()System.out.println(汪汪.汪汪)publicStringgetAnimalName()return狗;Cat.javapub

17、licclassCatimplementsAnimalpublicvoidcry()System.out.println(哺哺.口苗口苗)publicStringgetAnimalName()return猫;Application.javapublicclassExample5_13publicstaticvoidmain(Stringargs)Simulatorsimulator=newSimulator。;simulator.playSound(newDog();simulator.playSound(newCat();习题七(第7章)一、问答题1 .有效。2 .可以。3 .不可以。4 .

18、一定是。二、选择题1. C2. Co三、阅读程序1 .大家好,祝工作顺利!2 .p是接口变量。3 .你好finethanks。4 .属于上机实习程序,解答略四、编程题importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);doublesum=0;intm=0;while(reader.hasNextDouble()doublex=reader.nextDouble();assertx100:数据不合理;m=m+1;sum=sum+x;System.out.

19、printf(%d个数的和为%fn,m,sum);System.out.printf(%d个数的平均值是%fn,m,sum/m);习题八(第8章)一、问答题1,不是。hello是。2. 43.4. false和true。5. 负数。6. 是true。7. 3和1。7.会发生NumberFormatException异常。二、选择题1. A2. C3. B4. D5. Co三、阅读程序1 .【代码】:苹果。2 .【代码】:Love:Gama3 .【代码114 。代码2:abc我们。5 .【代码】3579。6 .【代码】:9javaHello。7 .属于上机实习程序,解答略。7.属于上机实习程序,

20、解答略。四、编程题1. publicclassEpublicstaticvoidmain(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);2. publicclassEpublicstaticvoidmain(Stringargs)Strings=ABCDabcd;charcStart=s.charAt(0);c

21、harcEnd=s.charAt(s.length()-1);System.out.println(cStart);System.out.println(cEnd);3. importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)intyear1,month1,day1,year2,month2,day2;tryyear1=Integer.parseInt(args0);month1=Integer.parseInt(args1);day1=Integer.parseInt(args2);year2=Integer.parseI

22、nt(args3);month2=Integer.parseInt(args4);day2=Integer.parseInt(args5);catch(NumberFormatExceptione)year1=2012;month1=0;day1=1;year2=2018;month2=0;day2=1;23 / 98Calendarcalendar=Calendar.getInstance();calendar.set(yeaH,month1-1,day1);longtimeYear1=calendar.getTimeInMillis();calendar.set(year2,month2-

23、1,day2);longtimeYear2=calendar.getTimeInMillis();long相隔天数=Math.abs(timeYear1-timeYear2)/(1000*60*60*24);System.out.println(+year1+年+month1+月+day1+日和”+year2+年+month2+月+day2+日相隔+相隔天数+“天)4. importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)doublea=0,b=0,c=0;a=12;b=24;c=Math.asin(0.56);Syste

24、m.out.println(c);c=Math.cos(3.14);System.out.println(c);# / 98c=Math.exp(1);System.out.println(c);c=Math.log(8);System.out.println(c);5. publicclassEpublicstaticvoidmain(Stringargs)Stringstr=ab123you你是谁?;Stringregex=D+;str=str.replaceAll(regex,);System.out.println(str);6. importjava.util.*;publiccla

25、ssEpublicstaticvoidmain(Stringargs)Stringcost=嗷学87分,物理76分,英语96分;Scannerscanner=newScanner(cost);eDelimiter(A0123456789.+);doublesum=0;intcount=0;while(scanner.hasNext()trydoublescore=scanner.nextDouble();count+;sum=sum+score;System.out.println(score);catch(InputMismatchExceptionexp)Stringt=scanner.n

26、ext();System.out.println(总分:+sum+”分)System.out.println(平均分:+sum/count+”分)习题九(第9章)一、问答题1. Frame容器的默认布局是BorderLayout布局。2. 不可以。3. ActionEvent。4. DocumentEvent。5. 5个。6. MouseMotionListener。二、选择题1. C2. A3. A4. D5. Co三、编程题1. importjava.awt.*;importjavax.swing.event.*;importjavax.swing.*;importjava.awt.eve

27、nt.*;publicclassEpublicstaticvoidmain(Stringargs)Computerfr=newComputer。;classComputerextendsJFrameimplementsDocumentListenerJTextAreatext1,text2;intcount=1;doublesum=0,aver=0;Computer。setLayout(newFlowLayout();text1=newJTextArea(6,20);text2=newJTextArea(6,20);add(newJScrollPane(textl);add(newJScrol

28、lPane(text2);text2.setEditable(false);(text1.getDocument().addDocumentListener(this);setSize(300,320);setVisible(true);validate。;setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);publicvoidchangedUpdate(DocumentEvente)Strings=text1.getText();Stringa=s.split(A0123456789.+);sum=0;aver=0;for(inti=0;i=0

29、)m=m-1;random.seek(m);intc=random.readByte();if(c=0)System.out.print(char)c);elsem=m-1;random.seek(m);bytecc=newbyte2;random.readFully(cc);System.out.print(newString(cc);catch(Exceptionexp)2. importjava.io.*;publicclassEpublicstaticvoidmain(Stringargs)Filefile=newFile(E.java);FiletempFile=newFile(te

30、mp.txt);tryFileReaderinOne=newFileReader(file);BufferedReaderinTwo=newBufferedReader(inOne);FileWritertofile=newFileWriter(tempFile);BufferedWriterout=newBufferedWriter(tofile);Strings=null;inti=0;s=inTwo.readLine();while(s!=null)i+;out.write(i+s);out.newLine();s=inTwo.readLine();inOne.close();inTwo

31、.close();out.flush();out.close();tofile.close();catch(IOExceptione)3. importjava.io.*;importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)Filefile=newFile(a.txt);Scannersc=null;doublesum=0;intcount=0;trysc=newScanner(file);sc.useDelimiter(F0123456789.+);while(sc.hasNext()trydoubleprice=sc.

32、nextDouble();count+;sum=sum+price;System.out.println(price);catch(InputMismatchExceptionexp)Stringt=sc.next();System.out.println(平均价格:+sum/count);41 / 98catch(Exceptionexp)System.out.println(exp);习题十一(第11章)一、问答题1 .(1)添加数据源,(2)选择驱动程序,(3)命名数据源名称。2 .不必使用数据名称。3 .减轻数据库内部SQL语句解释器的负担。4 .事务由一组SQL语句组成,所谓事务处理

33、是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。四、编程题1. importjava.sql.*;importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)Queryquery=newQuery();StringdataSource=myData;StringtableName=goods;Scannerread=newScanner(System.in);# / 98System.out.print(输入数据源名:);dataSource=read.nextLine();System.out.print(

34、输入表名:);tableName=read.nextLine();query.setDatasourceName(dataSource);query.setTableName(tableName);query.setSQL(SELECT*FROM+tableName);query.inputQueryResult();classQueryStringdatasourceName=;/数据源名StringtableName=;/表名StringSQL;/SQL语句publicQuery()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(C

35、lassNotFoundExceptione)System.out.print(e);publicvoidsetDatasourceName(Strings)datasourceName=s.trim();publicvoidsetTableName(Strings)tableName=s.trim();publicvoidsetSQL(StringSQL)this.SQL=SQL.trim();publicvoidinputQueryResult()Connectioncon;Statementsql;ResultSetrs;tryStringuri=jdbc:odbc:+datasourc

36、eName;Stringid=;Stringpassword=;con=DriverManager.getConnection(uri,id,password);DatabaseMetaDatametadata=con.getMetaData();ResultSetrs1=metadata.getColumns(null,null,tableName,null);int字段个数=0;while(rs1.next()字段个数+;sql=con.createStatement();rs=sql.executeQuery(SQL);while(rs.next()for(intk=1;k=字段个数;k

37、+)System.out.print(+rs.getString(k)+);System.out.println();con.close();catch(SQLExceptione)System.out.println(”请输入正确的表名+e);2. importjava.sql.*;importjava.util.*;publicclassEpublicstaticvoidmain(Stringargs)Queryquery=newQuery();StringdataSource=myData;StringtableName=goods;query.setDatasourceName(dat

38、aSource);query.setTableName(tableName);Stringname=;Scannerread=newScanner(System.in);System.out.print(商品名:);name=read.nextLine();Stringstr=%+name+%;StringSQL=SELECT*FROM+tableName+WHEREnameLIKE+str;query.setSQL(SQL);System.out.println(tableName+”表中商品名是+name+的记录);query.inputQueryResult();classQuery/数

39、据源名StringdatasourceName=;57 / 98StringtableName=;表名/SQL语句StringSQL;publicQuery()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundExceptione)System.out.print(e);publicvoidsetDatasourceName(Strings)datasourceName=s.trim();publicvoidsetTableName(Strings)tableName=s.trim();publicvoidset

40、SQL(StringSQL)this.SQL=SQL.trim();publicvoidinputQueryResult()Connectioncon;Statementsql;ResultSetrs;tryStringuri=jdbc:odbc:+datasourceName;Stringid=;Stringpassword=;con=DriverManager.getConnection(uri,id,password);DatabaseMetaDatametadata=con.getMetaData();ResultSetrs1=metadata.getColumns(null,null

41、,tableName,null);int字段个数=0;while(rs1.next()字段个数+;sql=con.createStatement();rs=sql.executeQuery(SQL);while(rs.next()for(intk=1;k=字段个数;k+)System.out.print(+rs.getString(k)+);System.out.println();con.close();catch(SQLExceptione)System.out.println(”请输入正确的表名+e);3. 将例子5中的代码:StringSQL=SELECT*FROM+tableName

42、+ORDERBYname;更改为:StringSQL=SELECT*FROM+tableName+ORDERBYmadeTime;可达题目要求。4. 十二(第12章)一、问答题1 .4种状态:新建、运行、中断和死亡。2 .有4种原因的中断:(1)JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU的使用权处于中断状态。(2)线程使用CPU资源期间,执行了sleep(intmillsecond)方法,使当前线程进入休眠状态。(3)线程使用CPU资源期间,执行了wait()方法,使得当前线程进入等待状态。(4)线程使用CPU资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。3 .死亡状态,不能再调用start()方法。4 .新建和死亡状态。5 .两种方法:用Thread类或其子类。6 .使用setPrority(intgrade)方法。7 .Java使我们可以创建多个线程,在处理多线程问题时,我们必须注意这样一个问题:当两个或多个线程同时访问同一个变量,并且一个线程需要修改这个变量。我们应对这样的问题作出处理,否则可能发生混乱。8 .当一个线程使用的同步方法中用到某

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!