Java语言程序设计第九版第八章答案

合集下载

java习题及答案第8章 习题参考答案

java习题及答案第8章 习题参考答案
lbl.setText(exitItem.getText());
exitItem.setText("退出");
}
});

8.6简述使用面板的原因,编写一个继承自JPanel的面板类MyPanel。
答:用面板可以实现对所有组件进行分层管理,即对不同关系的组件采用不同的布局管理方式,使组件的布局更加合理和程序的界面更加美观。
//创建文件下拉式菜单,并添加到菜单栏
JMenufilemenu= new JMenu("文件");
mbar.add(filemenu);
//创建菜单项,并添加到文件菜单下
JMenuItemopenfileItem= new JMenuItem("打开文件");
JMenuItem closefileItem= new JMenuItem("关闭文件");
编程提示:编写继承自JPanel的面板类MyPanel时,可在MyPanel类中直接放置上面板要放置的组件,在使用该面板时就可以直接放置在窗体上了,例如可创建一个LoginPanel,上面放上用户名和密码输入框及其文本标签,并添加登录和退出按钮和相关代码。
8.7对比各种布局管理方式,指出各自的应用场合。
答:常见的布局管理器有边界布局(BorderLayout)、顺序布局(FlowLayout)、网格布局(Gri不用布局管理器)。其中,各种布局管理方式与适合应用的场合如下:
空布局管理是直接定位的方式排列容器中的组件,适合只在某一平台运行的程序采用;
//JMenuItemexitItem=new JMenuItem("系统退出");
filemenu.add(openfileItem);

java语言程序设计课后习题答案

java语言程序设计课后习题答案

java语言程序设计课后习题答案第一章:计算机、程序和JAVA概述1、2、1什么是硬件和软件?答:硬件指计算机中可见的物理部分;而软件提供不可见的指令,这些指令控制硬件并使硬件完成特定的任务。

1、2、2列举计算机的5个主要硬件组件。

答:中央处理器(CPU);内存(主存);存储设备(磁盘、光盘);输入设备(鼠标、键盘);输出设备(显示器、打印机);通信设备(调制解调器、网卡)。

1、2、3编写“CPU”代表什么含义?测量CPU速度的单位是什么?答:CPU(Central Proceing Unit)中央处理单元,包括控制单元和算术、逻辑单元;单位是HZ,现在通常以MHZ,GHZ数量级衡量。

1、2、4什么是比特?什么是字节?答:bit是计算机物理设备中存储的最小单位;8个bit为1个byte。

1、2、5内存是用来做什么的?RAM代表什么?为什么内存成为RAM?答:内存用来存储程序和数据;RAM(Random-Acce Memory)-可随机访问存储介质;因为内存可以按任意顺序存取字节所以被称为RAM(按功能划分)。

1、2、6用于测量内存大小的单位是什么?用于测量磁盘大小的单位是什么?答:GB,TB1、2、7内存和永久存储设备的主要不同是什么?答:内存是易失性存储介质(断电即失),存储容量小,传输速度快;永久存储设备为非易失性存储介质(断电可留),存储容量大,传输速度慢。

1、3、1CPU能理解什么语言。

机器语言。

1、3、2什么是汇编语言?什么是汇编器?汇编语言能用短的描述性单词来表示每一条机器语言指令,是一种低级语言。

汇编器可以将汇编语言转换成机器语言。

1、3、3什么是高级编程语言?什么是源程序?很像英语,易于学习和使用的编程语言称为高级编程语言。

使用高级编程语言编写的程序称为源程序。

1、3、4什么是解释器?什么是编译器?解释器会逐条读取源代码中的语言,并立刻翻译成机器代码或者虚拟机器代码,然后立刻运行。

Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计(郑莉)第八章课后习题答案1.进程和线程有何区别,Java是如何实现多线程的。

答:区别:一个程序至少有一个进程,一个进程至少有一个线程;线程的划分尺度小于进程;进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

Java程序一般是继承Thread类或者实现Runnable接口,从而实现多线程。

2.简述线程的生命周期,重点注意线程阻塞的几种情况,以及如何重回就绪状态。

答:线程的声明周期:新建-就绪-(阻塞)-运行--死亡线程阻塞的情况:休眠、进入对象wait池等待、进入对象lock池等待;休眠时间到回到就绪状态;在wait池中获得notify()进入lock池,然后获得锁棋标进入就绪状态。

3.随便选择两个城市作为预选旅游目标。

实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000毫秒以内),哪个先显示完毕,就决定去哪个城市。

分别用Runnable接口和Thread类实现。

(注:两个类,相同一个测试类)//Runnable接口实现的线程runable类publicclarunnableimplementRunnable{privateStringcity;publicr unnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。

Thread.leep(1000);}catch(InterruptedE某ceptione){e.printStackTrace();}}}}//Thread类实现的线程thread类publicclarunnablee某tendThread{privateStringcity;publicrunnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。

Java程序设计 第8章习题参考答案[2页]

Java程序设计 第8章习题参考答案[2页]

第8章习题参考答案一、简答题1.实现类的继承是通过哪个关键字实现的?使用extends 和implements 这两个关键字来实现继承,而且所有的类都是继承于ng.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在ng 包中,所以不需要import祖先类。

在Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以extends 只能继承一个类。

2.Java能实现多继承关系吗?如何解决这个问题?在Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以extends 只能继承一个类。

使用implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口,接口跟接口之间采用逗号分隔。

3.如果父类和子类同时提供了同名方法,在类实例化后,调用的是哪个类的方法?采用什么办法避免混淆?子类。

通过super 与this 关键字区别父类和子类。

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

this关键字:指向自己的引用,表示当前正在调用此方法的对象引用。

4.什么是抽象类?抽象类和普通类有什么不同?抽象类是指类中含有抽象方法的类,抽象类和普通类区别是:1、和普通类比较起来,抽象类它不可以被实例化,这个区别还是非常明显的。

2、抽象类能够有构造函数,被继承的时候,子类就一定要继承父类的一个构造方法,但是,抽象方法不可以被声明成静态。

3、在抽象类当中,可以允许普通方法有主体,抽象方法只需要申明,不需要实现。

4、含有抽象方法的类,必须要申明为抽象类。

5、抽象的子类必须要实现抽象类当中的所有抽象方法,否则的话,这个子类也是抽象类。

6、抽象类它一定要有abstract关键词修饰。

Java语言程序设计(郑莉)一到八章课后习题答案

Java语言程序设计(郑莉)一到八章课后习题答案

第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。

1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。

行为:订票,领票,买票,退票。

2)银行交易:状态:客户姓名,账号,身份证号。

行为:存款,取款,汇款。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集

J a v a语言程序设计课后习题答案全集Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】指出JAVA语言的主要特点和JAVA程序的执行过程。

答:(1)强类型;(2)编译和解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。

说出开发与运行JAVA程序的重要步骤。

答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;(2)编译Java源文件:使用Java编译器编译源文件得到字节码文件;(3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。

如何区分应用程序和小应用程序答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。

说出JAVA源文件的命名规则。

答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。

JAVA语言使用什么字符集共有多少个不同的字符答:Java语言使用Unicode字符集,共有65535个字符。

JAVA语言标识符的命名规则是什么(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成(2)限定标识符的第一个字符不能是数字字符(3)不能和关键字重名(4)长度不能超过255个字符JAVA有那些基本数据类型,它们的常量又是如何书写的指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。

整型常量: 4)0xABCL,8)003,10)077,12)056L浮点数类型常量:3)-1E-31,5).32E31 13)0.,14).0两者都不是: 1),2),6),7),9),11)第二章 运算和语句Java 的字符能参加算术运算吗可以。

JAVA练习题(第8 9 10章)PPT教学课件

JAVA练习题(第8 9 10章)PPT教学课件

System.out.println(e);
}}}
2020/12/10
5
3.程序读取本地文件,并在控制台输出。 (1)假设待读取的文件位于D盘根目录下,名为
JavaTest.txt。 (2)读出后直接输出到控制台即可,即采用
System.out.println()的方式输出。 import java.io.*; class TestIO {
2020/12/10
4
String line = br.readLine();
while(line!=null){
System.out.println(line);
line = br.readLine();
//读
取下一行
}
br.close(); ir.close();
//关闭缓存 //关闭输入流
}catch(Exception e){
2020/12/10
6
String s = bf.readLine(); while(s != null){
System.out.println(s);
出文件内容到控制台
s=bf.readLine();
取下一行 }
bf.close();

fr.close();
}catch(IOException e){
写字符串操作
serializeStream.flush();
新缓冲区
serializeStream.close();
//完成 //刷
//关闭对象输出流
public static void main(String[] args) { try{ File f = nefrw=Fnielew("(Df);:/JavaT/e/定st义.tx读t")取; 文

Java程序设计(山东联盟-曲阜师范大学)智慧树知到课后章节答案2023年下曲阜师范大学

Java程序设计(山东联盟-曲阜师范大学)智慧树知到课后章节答案2023年下曲阜师范大学

Java程序设计(山东联盟-曲阜师范大学)智慧树知到课后章节答案2023年下曲阜师范大学曲阜师范大学绪论单元测试1.Java语言最初是面向哪个应用领域设计的?答案:消费电子产品2.Java在()年的3月23日诞生。

答案:1995第一章测试1.Java 源文件和编译后的文件扩展名分别为答案:.java 和 .class2.关于方法main ()的说法哪个正确?答案:一个类中可以没有main()方法3.Java语言具有许多优点和特点, 下列选项中, 哪个反映了Java 程序并行机制的特点:答案:多线程4.下面哪个类名的定义是正确的?答案:StringDemo5.Java体系主要分为三部分,下列哪个选项不是其中的一个组成部分?答案:Java AE6.Java 运行时解释器是哪个命令?答案:java7.Java语言是以爪哇岛咖啡的名字命名的。

答案:对第二章测试1.数组也是对象。

答案:对2.Java中数组的元素只能是简单数据类型。

答案:错3.Java 语言使用的字符码集是答案:Unicode4.关于选择结构下列哪个说法正确?答案:if 语句可以没有else 语句对应5.while 循环和do…while循环的区别是:答案:do…while循环是先循环后判断,所以循环体至少被执行一次6.return 语句:答案:方法中可以有多句return7.下列哪个是Java应用程序主类中正确的main方法?答案:public static void main(String args[])8.设x=1,y=2,z=3,则表达式y+=z--/++x的值是( )答案:39.以下定义一维数组a正确的是?答案:int [] a=new int[4];第三章测试1.在Java程序中,可以使用protected来修饰一个类。

答案:对2.静态变量是被同一个类的所有实例所共享的。

答案:对3.类也是一种数据类型(type)。

答案:对4.对象是类的实例(instance)。

[修订]java语言程序设计基础篇第八章第十题编程参考答案

[修订]java语言程序设计基础篇第八章第十题编程参考答案

[修订]java语言程序设计基础篇第八章第十题编程参考答案为二次方程式ax2+bx+c=0设计一个名为QuadraticEquation的类。

这个类包括: 代表三个系数的私有数据域a、b、c。

一个参数为a、b、c的构造方法。

a、b、c的三个get方法。

一个名为getDiscriminant()的方法返回判别式,b2-4ac。

一个名为getRoot1()和getRoot2()的方法返回等式的两个根。

这些方法只有在判别式为非负数时才有用。

如果判别式为负,方法返回0。

画出该类的UML图。

实现这个类。

编写一个测试程序,提示用户输入a、b、c的值,然后显示判别式的结果。

如果判别式为正数,显示两个根;如果判别式为0,显示一个根;否则,显示“The equation has no roots”。

代码:class QuadraticEquation{private int a,b,c;QuadraticEquation(){}public QuadraticEquation(int a,int b,int c){this.a=a;this.b=b;this.c=c;}public int getA(){return a;}public int getB(){return b;}public int getC(){return c;}public int getDiscriminant(){if(b*b-4*a*c>=0)return b*b-4*a*c;elsereturn 0;}public int getRoot1(){if(b*b-4*a*c>=0)return (int)((-b+Math.pow(b*b-4*a*c, 0.5))/(2*a)); elsereturn 0;}public int getRoot2(){if(b*b-4*a*c>=0)return (int)((-b-Math.pow(b*b-4*a*c, 0.5))/(2*a)); elsereturn 0;}}public class XiTi810 {public static void main(String[] args){System.out.println("请输入要计算的方程的系数a、b和c:");java.util.Scanner input =new java.util.Scanner(System.in);System.out.print("a=");int a=input.nextInt();System.out.print("b=");int b=input.nextInt();System.out.print("c=");int c=input.nextInt();QuadraticEquation q=new QuadraticEquation(a,b,c);q.getDiscriminant();if(q.getDiscriminant()>0)System.out.println("它们的根为:"+q.getRoot1()+"和"+q.getRoot2());else if(q.getDiscriminant()==0)System.out.println("此方程只有一个根为:"+q.getRoot1());elseSystem.out.println("方程无解");}}。

java语言程序设计课后习题+答案

java语言程序设计课后习题+答案

J a v a语言程序设计课后习题+答案(总142页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除第一章课后习题1.编译Java程序的命令是什么2.执行Java程序的命令是什么应用程序和小程序的区别是什么4.编写一个application ,实现在屏幕上打印自己名字的功能。

第一章课后习题答案1.编译Java程序的命令是什么答案:javac 源文件名2.执行Java程序的命令是什么java 主类名应用程序和小程序的区别是什么Java application由Java解释器独立运行字节码由专门的命令行启动程序执行程序中有定义了main()方法的主类Java applet不能独立运行,字节码必须嵌入HTML文档当浏览器调用含applet的Web页面时执行程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。

class Test{public static void main(String[] args){张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。

A) int a; B) double b=; C) boolean b=true; D)float f=;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是A)’8’ b)53 c)8 d)56是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3)语言中,占用32位存储空间的是__________。

java语言程序设计课后习题答案

java语言程序设计课后习题答案

java语言程序设计课后习题答案Java语言程序设计课后习题答案Java语言是一种广泛应用于软件开发领域的编程语言,它具有简洁、可移植、面向对象等特点,因此在计算机科学与技术领域中得到了广泛的应用和推广。

学习Java语言程序设计是每个计算机科学与技术专业学生的必修课之一。

在学习过程中,老师通常会布置一些课后习题,以帮助学生巩固所学的知识。

本文将为大家提供一些Java语言程序设计课后习题的答案,希望对大家的学习有所帮助。

1. 编写一个Java程序,实现求阶乘的功能。

```javaimport java.util.Scanner;public class Factorial {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数:");int n = scanner.nextInt();int result = 1;for (int i = 1; i <= n; i++) {result *= i;}System.out.println(n + "的阶乘为:" + result);}```2. 编写一个Java程序,实现判断一个数是否为素数的功能。

```javaimport java.util.Scanner;public class PrimeNumber {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数:");int n = scanner.nextInt();boolean isPrime = true;for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(n + "是素数");} else {System.out.println(n + "不是素数");}}```3. 编写一个Java程序,实现将一个字符串反转的功能。

数据结构JAVA语言描述习题答案(刘小晶等主编)第8章 查找(Java版)

数据结构JAVA语言描述习题答案(刘小晶等主编)第8章 查找(Java版)

给出“空记录”或“空指针”。
6/52
8.1排序的基本概念
8.1 查找的基本概念-查找表
章节目录
数据结构(Java语言描述)
对查找表经常进行的操作:
作业布置
1)建表; 2)查找; 3)读表元; 4)修改(如插入、删除等)。
结束放映
7/52
8.1排序的基本概念
8.1 查找的基本概念-查找表
章节目录
数据结构(Java语言描述)
28
8.2 静态表查找
数据结构(Java语言描述)
8.2.3 分块查找
章节目录
●索引顺序表的查找过程:
1)由索引确定记录所在块(区间); 2)在顺序表的某个块内进行查找。 可见,索引顺序查找的过程也是一个 “缩小区间”的查找过程。(分块查找)
作业布置
结束放映
注意:索引表可以根据查找表的特点来构造。
21
8.2 静态表查找
8.2.2 二分查找
章节目录
数据结构(Java语言描述)
作业布置
要求:查找表是按关键字从小到大排 序好的有序顺序表。 思想:取出表中的中间元素,若其关 键字值为key,则查找成功,算法结束; 否则以中间元素为分界点,将查找表分 成两个子表,并判断所查的key值所在的 子表是前部分,还是后部分,再重复上 述步骤直到找到关键字值为key的元素或 子表长度为0。
1 n n 1 ASLss (n i 1 ) n i 1 2
20
8.2 静态表查找
数据结构(Java语言描述)
8.2.2 二分查找(折半查找)
章节目录
上述顺序查找表的查找算法简单 , 但平均查找长度较大,特别不适用于表 长较大的查找表。
作业布置

Java语言程序设计第九版第八章答案讲课教案

Java语言程序设计第九版第八章答案讲课教案

Chapter 8 Objects and Classes1. See the section "Defining Classes for Objects."2. The syntax to define a class ispublic class ClassName {}3.The syntax to declare a reference variable for anobject isClassName v;4.The syntax to create an object isnew ClassName();5. Constructors are special kinds of methods that arecalled when creating an object using the new operator.Constructors do not have a return type—not even void.6. A class has a default constructor only if the classdoes not define any constructor.7. The member access operator is used to access a datafield or invoke a method from an object.8.An anonymous object is the one that does not have areference variable referencing it.9.A NullPointerException occurs when a null referencevariable is used to access the members of an object.10.An array is an object. The default value for theelements of an array is 0 for numeric, false for boolean,‘\u0000’ for char, null for object element type.11.(a) There is such constructor ShowErrors(int) in theShowErrors class.The ShowErrors class in the book has a defaultconstructor. It is actually same aspublic class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors(5);}public ShowErrors () {}}On Line 3, new ShowErrors(5) attempts to create aninstance using a constructor ShowErrors(int), but theShowErrors class does not have such a constructor. That is an error.(b) x() is not a method in the ShowErrors class.The ShowErrors class in the book has a defaultconstructor. It is actually same aspublic class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors();t.x();}public ShowErrors () {}}On Line 4, t.x() is invoked, but the ShowErrors classdoes not have the method named x(). That is an error.(c) The program compiles fine, but it has a runtimeerror because variable c is null when the printlnstatement is executed.(d) new C(5.0) does not match any constructors in classC. The program has a compilation error because class Cdoes not have a constructor with a double argument. 12.The program does not compile because new A() is used inclass Test, but class A does not have a defaultconstructor. See the second NOTE in the Section,“Constructors.”13.falsee the Date’s no-arg constructor to create a Date forthe current time. Use the Date’s toString() method todisplay a string representation for the Date.e the JFrame’s no-arg constructor to create JFrame.Use the setTitle(String) method a set a title and use thesetVisible(true) method to display the frame.16.Date is in java.util. JFrame and JOptionPane are injavax.swing. System and Math are in ng.17. System.out.println(f.i);Answer: CorrectSystem.out.println(f.s);Answer: Correctf.imethod();Answer: Correctf.smethod();Answer: CorrectSystem.out.println(F.i);Answer: IncorrectSystem.out.println(F.s);Answer: CorrectF.imethod();Answer: IncorrectF.smethod();Answer: Correct18. Add static in the main method and in the factorialmethod because these two methods don’t need referenceany instance objects or invoke any instance methods inthe Test class.19. You cannot invoke an instance method or reference aninstance variable from a static method. You can invoke astatic method or reference a static variable from aninstance method? c is an instance variable, which cannot be accessed from the static context in method2.20. Accessor method is for retrieving private data value and mutator method is for changing private data value. The naming convention for accessor method is getDataFieldName() for non-boolean values and isDataFieldName() for boolean values. The naming convention for mutator method is setDataFieldName(value).21.Two benefits: (1) for protecting data and (2) for easyto maintain the class.22. Not a problem. Though radius is private,myCircle.radius is used inside the Circle class. Thus, it is fine.23. Java uses “pass by value” to pass parameters to amethod. When passing a variable of a primitive type toa method, the variable remains unchanged after themethod finishes. However, when passing a variable of areference type to a method, any changes to the objectreferenced by the variable inside the method arepermanent changes to the object referenced by thevariable outside of the method. Both the actualparameter and the formal parameter variables referenceto the same object.The output of the program is as follows:count 101times 024.Remark: The reference value of circle1 is passed to x andthe reference value of circle2 is passed to y. The contents ofthe objects are not swapped in the swap1 method. circle1 andcircle2 are not swapped. To actually swap the contents of these objects, replace the following three linesCircle temp = x;x =y;y =temp;bydouble temp = x.radius;x.radius = y.radius;y.radius = temp;as in swap2.25. a. a[0] = 1 a[1] = 2b. a[0] = 2 a[1] = 1c. e1 = 2 e2 = 1d. t1’s i = 2 t1’s j = 1t2’s i = 2 t2’s j = 126. (a) null(b) 1234567(c) 7654321(d) 123456727. (Line 4 prints null since dates[0] is null. Line 5 causes a NullPointerException since it invokes toString() method from the null reference.)。

JAVA第八章课后习题解答

JAVA第八章课后习题解答
4
sb.append('\n'); }
} catch (Exception e) { e.printStackTrace(); } //显示 System.out.println(sb.toString()); } public void copy(){ try { FileWriter fw=new FileWriter(fileCopy); BufferedWriter bw=new BufferedWriter(fw); //写数据流 bw.write(sb.toString(),0,sb.toString().length()); bw.flush(); } catch (Exception e) { e.printStackTrace(); } } //test public static void main(String[] args){ FileDisplayAndCopy fda=new FileDisplayAndCopy("d:\\a.txt","d:\\b.txt"); fda.display(); fda.copy(); } } 【8】建立一个文本文件,输入一段短文,编写一个程序,统计文件中字符的个数,并将结 果写入另一个文件 [解答]: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; /** * 统计文件中字符的个数,并将结果写入另一个文件 */ public class FileCharCounter {
数据可以是未经加工的原始二进制数据也可以是经一定编码处理后符合某种格式规定的特定数据java据流有字节流和字符流之分

Java Web 程序设计教程 第8章习题答案(范立锋、林果园 编著)

Java Web 程序设计教程 第8章习题答案(范立锋、林果园 编著)

Java Web 程序设计教程(范立锋、林果园编著)第8章初识Hibernate框架习题答案1.什么是ORM?ORM就是对象关系映射。

其中的“O”代表的就是对象(object),“R”代表的是关系“relation”,M代表的是映射“mapping”。

其原理就是将对象与表、对象的属性与表的字段分别建立映射关系。

2.Hibernate有那些配置文件?这些配置文件都使用什么语法配置?HIbernate有两个配置文件。

一个配置文件是hibernate.cfg.xml,使用XML语法来配置数据库连接等信息,或者hibernate.properties,使用‘名称’=‘值’的形式配置。

HIbernate的另一个配置文件是映射文件,用来经数据表中的字段信息映射项目中创建的持久化的属性信息。

这样才能使用HIbernate的ORM机制,操作持久化类对象属性的同时就可以对数据中的数据进行更改。

3.简述在Hibernate中使用的映射关系类型。

映射关系类型如下表所示:Java Web程序设计4.Hibernate中用于开始使用Hibernate的入口配置类是什么?入口类是Configuration,该类用来读取HIbernate的配置文件并实例化SessionFactory对象等。

该类的实例化代码如下。

使用属性文件配置HIbernate时:Configuration config=new Configuration();使用配置文件配置HIbernate时:Configuration config=new Configuration().configrue();5.Hibernate中的关联关系都有哪些?实体之间通过关系来相互关联,关系之间有一对一(1:1)、一对多(1:n)和多对多(n:m)的关系。

Java程序设计课后练习答案

Java程序设计课后练习答案

J a v a程序设计课后练习答案Last updated on the afternoon of January 3, 2021《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令。

A.javacB.javaC.javadocD.javaw2.(D)不是Java程序中有效的注释符号。

ssB. .jarC. .javD. .java二、简答题1、Java的跨平台的含义是什么为什么Java可以跨平台2、Java语言的一个非常重要的特点就是平台无关性。

它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。

Java之所以能平台无关,主要是依靠Java 虚拟机(JVM)来实现的。

JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。

Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。

字节码文件通过Java虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。

以下图展示了Java程序从编译到最后运行的完整过程。

3、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。

2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。

4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。

Java语言程序设计第8章习题参考答案.docx

Java语言程序设计第8章习题参考答案.docx

习题八参考答案1.什么是组件?什么是容器?并说明各自的作用。

答:从实现角度来看,组件(Component)是构成GUI的基本要素,作用是通过对不同事件的响应来完成和用户的交互或组件之间的交互;容器是能容纳和排列组件的对象,如Applet> Panel (面板)、Frame (窗口)等,作用就是放置组件并控制组件位置。

2.简述Swing组件的优点。

答:Swing是在AWT基础上扩展而来的,提供了非常丰富的组件,远远多于AWT,并且引入了新的概念和性能,这使得基于Swing开发GUI应用程序比直接使用AWT开发更为灵活、方便、效率高,而且能设计出更优美的、感受更好的GUI。

3.简述容器的概念,结合8.4.7小节的内容,解释什么是应用程序的主框架?答:容器是用来容纳其他组件和容器的特殊组件,是由容器类(Container类)创建的对象。

在Java语言中,容器类是组件类(组件类Component类)的一个子类,具有组件的所有性质。

在AWT 技术中,容器类由java. awt包提供,主要包括面板类Panel、窗口类Window、结构类Frame、对话框类Dialog等。

在Swing技术中,容器类由javax. swing包提供,并可分为如下三类:>顶层容器:JFramc. JApplet. JDialog、JWindow;>中间容器:JPanel、JScrollPane^ JSplitPane、JDesktopPaneJToolBar;特殊容器:在GUI上起特殊作用的中间层,如J Interna IFrame、JLayeredPane、 JRootPaneo 应用程序的主框架由可以容纳应用程序各种组件的顶层容器创建,除了负责组件的管理外,通常还提供最大化、最小化、关闭按钮等,实现应用程序展现方式以及关闭等。

4.总结JFrame的使用要点,并说明内容面板的作用。

答:JFrame类包含很多设置窗体的方法,可以用setTitle(String tille)方法设置窗体标题,用setBounds(inl x,int y,int width,int height)方法设置窗体显示的位置及大小,用setVisable (Boolean b)方法设置可见与否(默认不可见)。

Java语言程序设计第九版第八章答案

Java语言程序设计第九版第八章答案

Chapter 8 Objects and Classes1.See the section "Defining Classes for Objects."2.The syntax to define a classis public class ClassName {}3.The syntax to declare a reference variable foran object isClassName v;4.The syntax to create an object isnew ClassName();5.Constructors are special kinds of methods that arecalled when creating an object using the new operator.Constructors do not have a return type—not even void.6. A class has a default constructor only if theclass does not define any constructor.7.The member access operator is used to access adata field or invoke a method from an object.8.An anonymous object is the one that does not havea reference variable referencing it.9. A NullPointerException occurs when a null referencevariable is used to access the members of an object.10.An array is an object. The default value for theelements of an array is 0 for numeric, false for boolean,‘ u0000’ for char, null for object element type.11.(a) There is such constructor ShowErrors(int) in theShowErrors class.The ShowErrors class in the book has a defaultconstructor. It is actually same aspublic class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors(5);}public ShowErrors () {}}On Line 3, new ShowErrors(5) attempts to create aninstance using a constructor ShowErrors(int), but theShowErrors class does not have such a constructor.That is an error.(b) x() is not a method in the ShowErrors class.The ShowErrors class in the book has a defaultconstructor. It is actually same aspublic class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors();t.x();}public ShowErrors () {}}On Line 4, t.x() is invoked, but the ShowErrors classdoes not have the method named x(). That is an error.(c)The program compiles fine, but it has aruntime error because variable c is null when theprintln statement is executed.(d)new C(5.0) does not match any constructors in classC. The program has a compilation error because classC does not have a constructor with a double argument.12.The program does not compile because new A() is used inclass Test, but class A does not have a defaultconstructor. See the second NOTE in the Section,“Constructors.”13.falsee the Date’s no -arg constructor to create a Date forthe current time. Use the Date’s toString() method to display a string representation for the Date.15. Use the JFrame ’s no -arg constructor to create JFrame. Use thesetTitle(String) method a set a title and use the setVisible(true)method to display the frame.16.Date is in java.util. JFrame and JOptionPane are injavax.swing. System and Math are in ng.17.System.out.println(f.i);Answer: CorrectSystem.out.println(f.s);Answer: Correctf.imethod();Answer: Correctf.smethod();Answer: CorrectSystem.out.println(F.i);Answer: IncorrectSystem.out.println(F.s);Answer: CorrectF.imethod();Answer: IncorrectF.smethod();Answer: Correct18.Add static in the main method and in the factorialmethod because these two methods don ’t need referenceany instance objects or invoke any instance methods in theTest class.19. You cannot invoke an instance method or reference aninstance variable from a static method. You can invoke astatic method or reference a static variable from aninstance method? c is an instance variable, which cannot beaccessed from the static context in method2.20.Accessor method is for retrieving private data value andmutator method is for changing private data value. The namingconvention for accessor method is getDataFieldName() for non-boolean values and isDataFieldName() for boolean values. Thenaming convention for mutator method is setDataFieldName(value).21.Two benefits: (1) for protecting data and (2) for easyto maintain the class.22.Not a problem. Though radius is private,myCircle.radius is used inside the Circle class. Thus, itis fine.23.Java uses “pass by value ” to pass parameters to amethod. When passing a variable of a primitive type to amethod, the variable remains unchanged after themethod finishes. However, when passing a variable of areference type to a method, any changes to the objectreferenced by the variable inside the method arepermanent changes to the object referenced by thevariable outside of the method. Both the actualparameter and the formal parameter variables referenceto the same object.The output of the program is as follows:count 101times 024.Remark: The reference value of circle1 is passed to xand the reference value of circle2 is passed to y. The contents ofthe objects are not swapped in the swap1 method. circle1 andcircle2 are not swapped. To actually swap the contents of these objects, replace the following three linesCircle temp = x;x=y;y=temp;bydouble temp = x.radius;x.radius = y.radius;y.radius = temp;as in swap2.25. a. a[0] = 1 a[1] = 2 b.a[0] = 2 a[1] = 1c. e1 = 2 e2 = 1d. t1 ’s i = 2 t1t2 ’s i = 2 t2’s j = 1’s j = 126.(a) null(b)1234567(c)7654321(d)123456727.(Line 4 prints null since dates[0] is null. Line 5 causes a NullPointerException since it invokes toString() method from the null reference.)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Chapter 8 Objects and Classes1. See the section "Defining Classes for Objects."2. The syntax to define a class ispublic class ClassName {}3.The syntax to declare a reference variable for an object isClassName v;4.The syntax to create an object isnew ClassName();5. Constructors are special kinds of methods that are called when creating an objectusing the new operator. Constructors do not have a return type—not even void.6. A class has a default constructor only if the class does not define any constructor.7. The member access operator is used to access a data field or invoke a method froman object.8.An anonymous object is the one that does not have a reference variable referencing it.9.A NullPointerException occurs when a null reference variable is used to access themembers of an object.10.An array is an object. The default value for the elements of an array is 0 for numeric,false for boolean, ‘\u0000’ for char, null for object element type.11.(a) There is such constructor ShowErrors(int) in the ShowErrors class.The ShowErrors class in the book has a default constructor. It is actually same as public class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors(5);}public ShowErrors () {}}On Line 3, new ShowErrors(5) attempts to create an instance using a constructorShowErrors(int), but the ShowErrors class does not have such a constructor. That is an error.(b) x() is not a method in the ShowErrors class.The ShowErrors class in the book has a default constructor. It is actually same as public class ShowErrors {public static void main(String[] args) {ShowErrors t = new ShowErrors();t.x();}public ShowErrors () {}}On Line 4, t.x() is invoked, but the ShowErrors class does not have the methodnamed x(). That is an error.(c) The program compiles fine, but it has a runtime error because variable c is nullwhen the println statement is executed.(d) new C(5.0) does not match any constructors in class C. The program has acompilation error because class C does not have a constructor with a doubleargument.12.The program does not compile because new A() is used in class Test, but class Adoes not have a default constructor. See the second NOTE in the Section,“Constructors.”13.falsee the Date’s no-arg constructor to create a Date for the current time. Use theDate’s toString() method to display a string representation for the Date.e the JFrame’s no-arg constructor to create JFrame. Use the setTitle(String)method a set a title and use the setVisible(true) method to display the frame.16.Date is in java.util. JFrame and JOptionPane are in javax.swing. System and Math arein ng.17. System.out.println(f.i);Answer: CorrectSystem.out.println(f.s);Answer: Correctf.imethod();Answer: Correctf.smethod();Answer: CorrectSystem.out.println(F.i);Answer: IncorrectSystem.out.println(F.s);Answer: CorrectF.imethod();Answer: IncorrectF.smethod();Answer: Correct18. Add static in the main method and in the factorial method because these twomethods don’t need reference any instance objects or invoke any instance methods in the Test class.19. You cannot invoke an instance method or reference an instance variable from a staticmethod. You can invoke a static method or reference a static variable from an instancemethod? c is an instance variable, which cannot be accessed from the static context inmethod2.20. Accessor method is for retrieving private data value and mutator method is for changing private data value. The naming convention for accessor method is getDataFieldName() for non-boolean values and isDataFieldName() for boolean values. The naming convention for mutator method is setDataFieldName(value).21.Two benefits: (1) for protecting data and (2) for easy to maintain the class.22. Not a problem. Though radius is private, myCircle.radius is used inside the Circle class.Thus, it is fine.23. Java uses “pass by value” to pass parameters to a method. When passin g avariable of a primitive type to a method, the variable remains unchanged after themethod finishes. However, when passing a variable of a reference type to a method,any changes to the object referenced by the variable inside the method arepermanent changes to the object referenced by the variable outside of the method.Both the actual parameter and the formal parameter variables reference to the sameobject.The output of the program is as follows:count 101times 024.Remark: The reference value of circle1 is passed to x and the reference value of circle2 is passed to y. The contents of the objects are not swapped in the swap1 method. circle1 and circle2 are not swapped. To actually swap the contents of these objects, replace the following three lines Circle temp = x;x =y;y =temp;bydouble temp = x.radius;x.radius = y.radius;y.radius = temp;as in swap2.25. a. a[0] = 1 a[1] = 2b. a[0] = 2 a[1] = 1c. e1 = 2 e2 = 1d. t1’s i = 2 t1’s j = 1t2’s i = 2 t2’s j = 126. (a) null(b) 1234567(c) 7654321(d) 123456727. (Line 4 prints null since dates[0] is null. Line 5 causes a NullPointerException since it invokes toString() method from the null reference.)本文档部分内容来源于网络,如有内容侵权请告知删除,感谢您的配合!。

相关文档
最新文档