当前位置:文档之家› java第三章课后习题解答

java第三章课后习题解答

第3章面向对象程序设计基础

【1】什么是Java程序使用的类?什么是类库?

[解答]:Java程序的基本单位是类。对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。

Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。#

【2】如何定义方法?在面向对象程序设计中方法有什么作用?

[解答]:方法的定义由两部分组成:方法声明和方法体。方法声明的基本格式如下:

返回类型方法名(形式参数)

{

… //方法体内容

}

方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。

在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。

【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。

void Student(int no,String name)

{

studentNo=no;

studentName=name;

return no;

}

[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。

以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句

【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。

[解答]:程序代码段如下:

class student{

private String id;

private String name;

private String sex;

private int age;

public String getId()

{return id; }

public String getName()

{ return name; }

public String getSex()

{ return sex; }

public int getAge()

{ return age; }

void setAge(int age)

{ this.age = age; }

}

public class TestStudent

{ public static void main(String args[])

{ student stu = new student("0401398", "杨小明", "男",20);

System.out.println("student info: " + "\n学号:"+stu.getId()+ "\n姓名"+

stu.getName()+"\n性别:"+stu.getSex()+ "\n年龄:"+stu.getAge());

stu.setAge(19);

System.out.println("修改后的年龄为:"+stu.getAge());

}

}

【5】扩充、修改程序。为第4题的student类定义构造函数初始化所有的域,增加一个方法public String printInfo()把student类对象的所有域信息组合形成一个字符串,并在主类中创建学生对象及测试各方法的功能。

[解答]:程序代码段如下:

class student{

private String id;

private String name;

private String sex;

private int age;

student(String id , String name, String sex, int age)

{ this.id = id;

https://www.doczj.com/doc/062253879.html, = name;

this.sex = sex;

this.age=age;

}

public String getId()

{return id; }

public String getName()

{ return name; }

public String getSex()

{ return sex; }

public int getAge()

{ return age; }

void setAge(int age)

{ this.age = age; }

public String printInfo()

{ String s= "student info: " + "\n学号:"+id+ "\n姓名"+name+"\n性别:"+sex+ "\n年龄"

+age;

System.out.println(s);

return s;

}

}

public class TestStudent

{ public static void main(String args[])

{ student stu = new student("0401398", "杨小明", "男",20);

stu.printInfo();

stu.setAge(19);

stu.printInfo();

}

}

【6】什么是修饰符?修饰符的种类有哪些?它们各有什么作用?

[解答]:修饰符是用于限定类对象使用的权限,从而实现类中成员的信息隐藏。访问修饰符适用于类成员,而不是方法内部的局部变量。Java常见的访问修饰符有这4种:private、default、protected和public。

(1)public 可以被所有的类访问

(2)pravite 只能被类本身访问,其他类无法访问

(3) protected 可以被类本身、它的子类(包括同一个包中以及不同包中的子类)

(4) default 属于默认的访问状态,可以被类本身和同一个包中的类访问

【7】什么是抽象类?为什么要引入抽象类的概念?

[解答]:抽象类是用来描述人们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。抽象类不具备实际功能,是专门设计用来让子类继承的类,把这些具有共同特征的方法抽象出来,由子类负责这些抽象方法的实现细节,而父类仅提供此方法的名称和声明、没有方法的主体,该类。

【8】什么是抽象方法?如何定义、使用抽象方法?

[解答]:用abstract关键字修饰的方法称为抽象方法。抽象方法定义时,需在方法名前加上关键字abstract,抽象方法只有方法声明,没有代码实现的空方法。因此,必须通过其子类来重写父类中定义的每一个抽象方法。

【9】包的作用是什么?如何在程序中引入已定义的类?使用已定义的用户类、系统类有哪些主要方式?

[解答]:包的作用是将类和接口封装在一起,方便了类和接口的管理和调用。要引入包中已定义的类,必须用关键字import来导入这些类所在的包。import语句的一般形式如下:

import 包名.类名

其中类名可以用通配符“*”代替。

使用已定义的用户类、系统类主要有三种方式:直接调用、继承和创建已定义的用户类、系统类的对象。但无论采用哪种方式,使用已定义的用户类、系统类的前提条件是用户类、系统类应该是用户程序可见的类,为此用户程序需要用import语句引人它所用到的用户类、系统类或用户类、系统类所在的包。

【10】什么是继承?如何定义继承关系?

[解答]:同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。

派生类继承基类,必须使用关键字extends来声明。比如派生类B继承基类A,派生类B定义的一般形式如下:

class B extends A

{…}

【11】什么是多态,如何实现多态?

[解答]:多态是指一个程序中同名的不同方法共存的情况。这些方法同名的原因是它们的最终功能和目的都相同,但是由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义含不同的具体内容的方法,来代表多种具体实现形式。多态通常是一个消息在不同的类中用不同的方法实现的。

多态的实现是由消息的接收者确定一个消息应如何解释,而不是由消息的发送者确定,消息的发送者只需要指导另外的实例可以执行一种特定操作即可。Java中提供两种多态机制:方法重载与方法重写。

【12】解释this和super的意义和作用。

[解答]:this指的是引用当前对象或类名称,当一个类的实例变量名与一个方法中参数名相同时,则参数就隐藏了实例变量名,此时可通过使用关键字this来访问它;super用来引用当前对象的父类,通过super来访问父类被子类隐藏的成员变量、成员方法以及父类的构造方法。由于子类不继承父类的构造方法,可使用super来调用父类的构造方法,并且super 必须是子类构造方法中的第一条语句。

【13】什么是接口?为什么要定义接口?接口和类有什么异同?

[解答]:接口是用来调节各类之间的相互关系的一种结构,接口是抽象类的一种,只包含常量和方法的定义,而没有变量和具体方法的实现,且其方法都是抽象方法。

接口定义的格式如下:

[public] interface 接口名[extends 父接口名列表]{

…//接口体

}

extends子句有类声明的extends子句基本相同,不同的是一个接口可有多个父接口,用逗号隔开,而一个类只能有一个父类。Java中的类只能实现单重继承,这虽然可以简化编程,但毕竟没有完全实现面向对象的功能。定义接口的主要作用,就是帮助Java实现类间多重继承的结构。而且接口还有以下好处:

●接口可以被多个类所实现,这些类可以不相关,从而具有相同的行为。

●通过接口可以了解对象的行为,而无需了解对象所对应的类的结构。

【14】将一个抽象类改写成接口,并实现这个接口。

[解答]:程序代码段如下:

//抽象类的应用示例

abstract class 动物

{ public abstract void cry(); }

class 狗extends 动物

{ public void cry()

{ System.out.println("汪汪....."); }

}

class Test

{ public static void main(String args[])

{ 动物dongwu;

dongwu=new 狗();

dongwu.cry();

}

}

//将抽象类改写成接口,并实现这个接口

interface动物

{ public void cry(); }

class 狗implements 动物

{public void cry()

{ System.out.println("汪汪....."); }

}

class Test

{ public static void main(String args[])

{ 动物dongwu;

dongwu=new 狗();

dongwu.cry();

}

}

【15】编写一个程序实现包的功能。

[解答]:包的功能实现包括两步骤:打包、引用包,其具体实现如下:

(1) //设当前运行目录的子目录test\bag下有MyBag.class类,其源程序如下:

package test.bag;

public class MyBag

{

public void print()

{ System.out.println("包的功能测试");}

}

(2) //在当前目录的TestBag.java中,要使用子目录test\bag下有MyBag.class类中的print()

//方法,其源程序如下:

import test.bag.MyBag;

public class TestBag

{ public static void main(String args[])

{ MyBag mb=new MyBag();

mb.print();

}

}

【16】填空:

(1) 如果类A继承了类B,则类A被称为类,类B被称为类。[解答]:子父

(2) 继承使成为可能,它节省了开发时间。

[解答]:代码复用

(3) 如果一个类包含一个或多个abstract方法,它就是一个类。[解答]:抽象

(4) 一个子类一般比其超类封装的功能要。

[解答]:强

(5) 标记成的类的成员不能由该类的方法访问。

[解答]:static

(6) Java用关键字指明继承关系。

[解答]:extends

(7) this代表了的引用。

[解答]:当前对象

(8) super表示的是当前对象的对象。

[解答]:父类

(9) 抽象类的修饰符是。

[解答]:abstract

(10) 接口中定义的数据成员是。

[解答]:常量

(11) 接口中没有什么方法,所有成员方法都是方法。[解答]:实例空

java课后题答案

第1章Java概述 1.编译java application源程序文件将产生相应的字节码文件,这些字节码文件别 的扩展名为、java 2.执行一个java程序fristapp的方法就是运行java fristapp 3.main()方法的返回类型就是void 4.在java代码中,public static void main方法的参数描述正确的就是string args 【】,string【】args 5.内存的回收程序负责释放无用内存√ 6.java体系主要分为java ME,Java SE,JavaEE三大块 第2章Java基础 1.Java语言中,下列标识符错误的就是40name 2.java变量中,以下不属于引用类型的数据类型就是字符型 3.double d=5、3E12 × 4.C 5.A 6.for循环的一般形式为;for(初值;终值;增量),以下对for循环的叙述,正确 的就是初值与增量都就是赋值语句,终值就是条件判断语句 7.当输入下面选项中3值时,将会输出default 8.下面哪种方法能够支持javadoc命令/**…*/ 9.下面声明一个string类型的数组正确的就是string str[] 10.下面定义一个整型数组,不合法的就是int[][]array=new int[][4]; 11.给定代码;。。。。。下面叙述正确的就是输出的结果为:0 12.java语言规定,标示符只能由字母,数字美元符$与下划线租成,并且第一个 字符不能就是数字;java就是区分大小写的。 13.表达式1/2*3的计算结果就是0;设x=2,则表达式(x++)/3的值就是0 14.数组的长度可以用其属性lengt h获得;创建一个数组对象可以使用new关键 字创建 第3章面向对象基础 1.在java中引用对象变量与对象间有什么关系?引用变量就是指向对象的一个指针 2.对象就是面向对象技术的核心所在,在面向对象程序设计中,对象就是累的抽象× 3.构造方法何时被调用?创建对象时 4.A,B,D 5.在java语言中在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2、在类c中 要使用类a的方法与类b的方法b,需要选择import p1、*; import p1、p2,*;

JAVA练习题含答案-answers to practice 2

Multiple Choice 1)Which operator is used to concatenate two strings? (a)+ (b)– (c)* (d)/ Answer: A (see page 35) 2)Which operator returns the remainder of integer division? (a)% (b)/ (c)* (d)none of the above Answer: A (see page 26) 3)What is the value of the variable c in the statements that follow? String phrase = "Make hay while the sun is shining."; char c = phrase.charAt(10); (a)w (b)h (c)i (d)None of the above Answer: B (see page 40) 4)The escape sequence the represents the new-line character is: (a)\r (b)\t (c)\n (d)\\ Answer: C (see page 43) 5)The syntax that declares a Java named constant named SALES_TAX is: (a)double SALES_TAX = 7.50; (b)public double SALES_TAX = 7.50; (c)public static double SALES_TAX = 7.50; (d)public static final double SALES_TAX = 7.50; Answer: D (see page 47)

java入门到精通课后练习和答案(1-6章)

1.9练一练 一.填空题 1.运行编译后的class文件,需要输入命令java 2.JVM是指java虚拟器 3.Java程序源文件扩展名为java 二,简答题 1.简述java语言的特点 (1)简洁有效(2)可移植性(3)面向对象(4)解释型(5)适合分布式计算 2.java虚拟器的作用是什么? 答:保证编译后的java代码能够在安装java虚拟器的系统上运行。 2.5练一练 一.填空题 1.java程序是从main()处开始运行的。 2.在java中,多行注释的开始和结束标记分别为/*和*\。 3.声明1个名称“count”的整形变量的语句为int count; 4.Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 二、简答题 1.简述设置变量的3种方法。 (1)在声明前设置 (2)在声明后设置 (3)在任何位置声明设置 2.简述提高程序可读性的两种方法。 *添加注释*使用缩进方法编写 3.4练一练 1.Eclipse是IBM花巨资开发的IDE集成开发环境(Intergrated Development Environment)。 2.【源代码】菜单中所包含的命令都是和代码编写相关的,主要用于源代码工作。 3.选择【文件】>【新建】>【项目...】命令,打开【新建项目】对话框。 二.简答题 1.Eclipse提供了哪两种程序调试方式? *java应用程序*调试 2.取消Eclipse启动时出现的设置工作空间的对话框的具体方法是什么? Eclipse启动时在【设置工作空间】的对话框中选中【将此值用作缺省值并且不再询问】复选框。 4.3练一练 1.变量是利用声明的方式,将内存中的某个块保留下来以供程序使用 2.常量就是固定不变的量,一旦被定义,它的值就不能再被改变。 3.当常量用于一个类的成员变量时,必须给常量赋值,否则会出现编译错误。 二.简答题 1.简述变量的命名规则 Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 2.按作用范围划分,变量是如何划分的?

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

计算机网络课后习题答案(第三章)

计算机网络课后习题答案(第三章) (2009-12-14 18:16:22) 转载▼ 标签: 课程-计算机 教育 第三章数据链路层 3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在? 答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。 “电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。 3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的 链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透明传输 寻址 可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。 3-03 网络适配器的作用是什么?网络适配器工作在哪一层? 答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件 网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层) 3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决? 答:帧定界是分组交换的必然要求

JAVA实用教程(第三版)课后习题答案

第一章Java语言概述 2.“java编译器将源文件编译为的字节码文件是机器码”这句话正确吗? 答:不正确 3.java应用程序的主类必须含有怎样的方法? 答:含有main方法 4。“java应用程序必须有一个类是public类”这句话正确吗? 答;不正确,只能有一个public类 5。“java Applet程序的主类必须是public类”这句话正确吗? 答:正确,因为java Applet主类必须是Applet类的子类并且是public 的类 6。请叙述java源程序的命名规则。 答:与public的类同名。 7。源文件生成的字节码文件在运行时都加载到内存中吗? 答:非也,动态随需要运行才加载。 8.面向对象的程序设计语言有那些基本特征? 答:封装;继承;多态性。 9.在Java程序中有多个类文件时,用Java命令应该运行那个类?答:具有main方法的类 第二章基本数据类型和数组 4。下列哪些语句是错的?

Int x=120; Byte b=120; b=x; 答:B=x;错应为b=(byte)x 5。下列哪些语句是错的? 答:y=d;错,应y=(float)d 6。下列两个语句是等价的吗? Char x=97; Char x=…a?; 答:是等价的。 7。下列system.out.printf语句输出结果是什么? Int a=97; Byte b1=(byte)128; Byte b2=(byte)(-129); System.out.printf(“%c,%d,%d”,a,b1,b2); 如果输出语句改为: System.out.printf(“%d,%d,%d”,a,b1,b2); 输出什么? 答:输出a ,-128,127 修改后输出97,-128,127 8.数组是基本数据类型吗?怎样获取数组的长度? 答:不是基本数据类型,是复合数据类型。可以通过:数组名.length

第三章课后习题解答

3.4.1 质量为2kg 的质点的运动学方程为 j t t i t r ?)133(?)16(2 2+++-= (单位:米,秒), 求证质点受恒力而运动,并求力的方向 大小。 解:∵j i dt r d a ?6?12/2 2 +== , j i a m F ?12?24+== 为一与时间无关的恒矢量,∴ 质点受恒力而运动。 F=(242+122)1/2=125N ,力与x 轴之间夹角为: '34265.0/?===arctg F arctgF x y α 3.4.2 质量为m 的质点在o-xy 平面内运动,质点的运动学方程为: j t b i t a r ?sin ?cos ωω+= ,a,b,ω为正常数,证明作用于质点的合力总指向原点。 证明:∵r j t b i t a dt r d a 222 2 )?sin ?cos (/ωωωω-=+-== r m a m F 2ω-==, ∴作用于质点的合力总指向原点。 3.4.4 桌面上叠放着两块木板,质量各为m 1 ,m 2,如图所示,m 2和桌面间的摩擦系数为μ2,m 1和m 2间的摩擦系数为μ1,问沿水平方向用多大的力才能把下面的木板抽出来。 解:以地为参考系,隔离m 1、m 2,其受力与运动情况如图所示, 其中,N 1'=N 1,f 1'=f 1=μ1N 1,f 2=μ2N 2,选图示坐标系o-xy ,对m 1,m 2分别应用牛顿二定律,有 02122222 11111 111=--=--=-=g m N N a m N N F g m N a m N μ μμ 解方程组,得 ()2221211211/m g m g m g m F a g a μμμμ---== 要把木板从下面抽出来,必须满足12a a >,即 g m g m g m g m F 12221211μμμμ>---()()g m m F 212 1++>∴μ μ 3.4.6在图示的装置中两物体的质量各为m 1,m 2,物体之间及物体与桌面间的摩擦系数都为μ,求在力F 的作用下两物体的加速度及绳内张力,不计滑轮和绳的质量及轴承摩擦,绳不可伸长。 m 1g f 1 N 1 a 1 a 2 x y

软件工程实践者的研究方法(中文版第七版)课后习题答案

作业答案。 2.1 a.设计者对于用户要问的问题: 项目的目标是什么?做到什么程度就成功了?谁会对项目的成功做最后的评判?项目的使用者包括那些? b. 用户对设计者应该问的问题: 目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成? c. 软件问题用户自问? 还有其他解决方案吗?哪些功能是必须的?乙方资质和能力够吗? d. 软件过程问题自问? 用敏捷还是用瀑布?质量检查点分别有哪些?有几个MileStone? 2.2 为沟通活动设计一系列动作,选定其一并设计任务集。 (批作业的时候,以合理为目标,不一定要一样) 需求获取、需求规范说明(建模)、需求协商、需求确认等。 例如,书上page 23。 2.7 详细描述三个适合用于瀑布模型的软件项目。 (要求学生不仅仅列出项目的名称,而要说明为什么适合) 瀑布模型适合于项目开发而不是产品开发。信息管理系统一般适合于用瀑布模型。因为这类系统业务功能较为明确,架构比较单一,技术难点较少。图书馆系统、销售管理系统都是。 3.11 重构:已经写好的正确的代码,不断修正,使得代码更加精简并易读。 结对编程:两个人同时编写一段代码,一般一个人负责实现,一个人负责检查代码质量。 3.16 利用FDD,为“Web浏览器”定义一系列特征集合与特征。 特征集合模板: an 如:出售一件商品 特征定义模板: the a(n) 特征集合:展示Web页面内容。 特征: 1)本地解析HTML页面 2)展示HTML页面 3)从网络上下载页面相关图片 4)在浏览器上展示图片 附加:统一过程模型的图。 (要求有图有说明)

java课后习题及答案

第一章JA V A语言概论 一、选择题 1. 下列不属于java语言特点的是:B A. java能检查程序在变异和运行时的错误 B. java 能运行虚拟机实现跨平台 C. java 自己操纵内存减少了内存出错的可能性 D. java 还实现了真数组,避免了覆盖数据的可能 2. java语言的执行模式是:C A. 全编译型 B. 全解释型 C. 半编译和半解释型 D. 同脚本语言的解释模式 3. 下列关于虚拟机说法错误的是:B A. 虚拟机可以用软件实现 B. 虚拟机部可以用硬件实现 C. 字节码是虚拟机的机器码 D. 虚拟机把代码程序与各操作系统和硬件分开 4. java语言是1995年由()公司发布的A A. Sun B. Microsoft C. Borland D. Fox Software 5. 下列不是虚拟机执行过程特点的是A A. 双线程 B. 多线程 C. 动态链接 D. 异常处理 6. java以JVM为基础,最下层是移植接口,由适配器和()组成B A. 网卡 B. Java os C. Java基本类 D. Java 应用程序和applet小程序 7. java程序的执行过程中用到一套JDK工具,其中javac.exe指A A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器 8. java的API结构中,不属于类库主要包括的核心包的是C A. java包 B. javax C. javadoc包 D. org扩展包 9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A

第三章课后习题答案

习题3 一、填空题 1.若二维随机变量(X,Y)在区域}),({222R y x y x ≤+上服从均匀分布,则(X,Y)的概率密度为 。 ??? ??≤+=其他 1 ),(2 222 R y x R y x f π 则},max{Y X 的分布律为 。 3.设二维随机变量(X,Y)的概率分布见下表,则(1)关于X 的边缘分布律为 ;(2)关于 4.设随机变量X 与Y 相互独立,X 在区间(0,2)上服从均匀分布,Y 服从参数为的指数分布,则概率=>+}1{Y X P 。 12 11--e 5.设二维随机变量(X,Y)的概率密度函数为? ??≤≤≤=其他01 0),(y x bx y x f ,则}1{≤+Y X P = 。 4 1 6. 设随机变量X 与Y 相互独立,且均服从区间(0,3)上对的均匀分布,则}1},{max{≤Y X P = 。 9 1 7.设随机变量

i=1,2,且满足1}0{21==X X P ,则==}{21X X P 。 0 8.如图3.14所示,平面区域D 由曲线x y 1 = 及直线2,1,0e x x y ===所围成,二维随机变量(X,Y)关于X 的边缘概率密度在2=x 处的值为 。 4 1 9.设X,Y 为两个随机变量,且73}0,0{= ≥≥Y X P ,7 4 }0{}0{=≥=≥Y P X P ,则 }0},{max{≥Y X P = 。 7 5 10.设随机变量X 与Y 相互独立,),3(~),,2(~p B Y p B X ,且9 5 }1{= ≥X P ,则 ==+}1{Y X P 。 243 80 二、选择题 1.设两个随机变量X 与Y 相互独立且同分布,}1{}1{}1{==-==-=X P Y P X P = ,2 1 }1{==Y P 则下列各式中成立的是( ) A (A)2 1 }{==Y X P , (B) 1}{==Y X P (C) 41}0{==+Y X P (D) 4 1 }1{==XY P 2.设随机变量X 与Y 独立,且0}1{}1{>====p Y P X P , 01}0{}0{>-====p Y P X P ,令 ?? ?++=为奇数 为偶数Y X Y X Z 0 1 要使X 与Z 独立,则p 的值为( ) C (A) 31 (B) 41 (C) 21 (D) 3 2 3. 设随机变量X 与Y 相互独立,且)1,0(~N X ,)1,1(~N Y ,则( ) B

《Java语言程序设计(基础篇)》(第10版 梁勇 著)第十七章练习题答案

《Java语言程序设计(基础篇)》(第10版梁勇著) 第十七章练习题答案 17.1 import java.io.*; import java.util.*; public class Exercise17_01 { public static void main(String[] args) throws IOException { try ( Formatter output = new Formatter(new FileOutputStream("Exercise17_01.txt", true)); ) { for (int i = 0; i < 100; i++) output.format("%d", (int)(Math.random() * 100000)); } } } 17.2 import java.io.*; public class Exercise17_02 { public static void main(String[] args) throws IOException { try ( DataOutputStream output = new DataOutputStream(new FileOutputStream("Exercise17_02.dat", true)); ) { for (int i = 0; i < 100; i++) output.writeInt((int)(Math.random() * 100000)); } System.out.println("Done"); } } 17.3 import java.io.*;

java练习题答案

第1章java语言概述习题 一、填空题 1、面向对象程序的主要特征:继承,__封装___,___多态 _____。 2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是 因为它使代码可以__重用或复用___. 3、java语言中,为将源代码翻译成 __字节码__文件时产生的错误称为编译错误, 而将程序在运行中产生的错误称为运行错误。 4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java 是java语言中的解释执行器,基本语法是:java[选项]___类名___. 5、java语言的主要贡献者是谁James gosling 二、[ 三、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文 件的扩展名为( B)。 A、java B、.class C、html D、.exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首 部, 以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) ) D、public void main(String arg[]) 三、判断 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 四、问答题 1、编写、运行java程序需要经过哪些主要步骤 答:1.编写源文件,扩展名必须是.java 2.编写java源程序,使用java编译器编写源文件,得到字节码文件 ~ 3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字 节码文件。 2、阅读下列java源代码文件,并回答问题 public class Speak{ void speakHello(){ "I'm glad to meet you"); } } … class Xiti8{

高等数学第三章课后习题答案

1 / 10 第三章 中值定理与导数的应用 1. 验证拉格朗日中值定理对函数x x f ln )(=在区间[]e ,1上的正确性。 解:函数()ln f x x =在区间[1,]e 上连续,在区间(1,)e 内可导,故()f x 在[1,]e 上满足 拉格朗日中值定理的条件。又x x f 1 )(= ',解方程,111,1)1()()(-=--= 'e e f e f f ξξ即得),1(1e e ∈-=ξ。因此,拉格朗日中值定理对函数()ln f x x =在区间[1,]e 上是正确的。 2.不求函数)4)(3)(2)(1()(----=x x x x x f 的导数,说明方程0)(' =x f 有几个实根,并指出它们所在的区间。 解:函数上连续,分别在区间[3,4][2,3],2],,1[)(x f 上在区间(3,4)(2,3),2),,1(可导, 且(1)(2)(3)(4)0f f f f ====。由罗尔定理知,至少存在),2,1(1∈ξ),3,2(2∈ξ ),4,3(3∈ξ使),3,2,1( 0)(=='i f i ξ即方程'()0f x =有至少三个实根。又因方程 '()0f x =为三次方程,故它至多有三个实根。因此,方程'()0f x =有且只有三个实根, 分别位于区间(1,2),(2,3),(3,4)内。 3.若方程 011 10=+++--x a x a x a n n n Λ有一个正根,0x 证明: 方程0)1(1211 0=++-+---n n n a x n a nx a Λ必有一个小于0x 的正根。 解:取函数()1 011n n n f x a x a x a x --=+++L 。0()[0,]f x x 在上连续,在0(0,)x 内可导, 且0(0)()0,f f x ==由罗尔定理知至少存在一点()00,x ξ∈使'()0,f ξ=即方程 12011(1)0n n n a nx a n x a ---+-++=L 必有一个小于0x 的正根。 4.设,11<<<-b a 求证不等式: .arcsin arcsin b a b a -≥-

操作系统概念第七版习题答案(中文版)完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源 1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O 也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU 组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。

《Java基础入门》课后章节习题及答案(完整版)

《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言

C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、简述JRE与JDK的区别。

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

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1= =str2); //false String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1= =str2); //false 因此自符串如果是对内容进行比较,使用equals方法比较可靠。 String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1.equals(str2)); //true String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2)); //true 5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。若n为任意值呢? 法一: public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; int count; thousand=n/1000; count=n%1000; hundred=count/100; count=count%100; decimal=count/10; count=count%10; unit=count; System.out.println("1678包含的数 字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } //如果n为任意值 import java.io.*; public class Exercise51{ public static void main(String[] args) throws IOException{ System.out.print("请输入一个整数:"); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new

西方经济学-微观部分-第三章课后习题答案

第三章 效用论 1. 已知一件衬衫的价格为80元,一份肯德基快餐的价格为20元,在某消费者关于这两种商品的效用最大化的均衡点上,一份肯德基快餐对衬衫的边际替代率MRS 是多少? 解答:按照两商品的边际替代率MRS 的定义公式,可以将一份肯德基快餐对衬衫的边际替代率写成: MRS XY =-ΔY ΔX 其中,X 表示肯德基快餐的份数;Y 表示衬衫的件数;MRS XY 表示在维持效用水平不变的前提下,消费者增加一份肯德基快餐消费时所需要放弃的衬衫的消费数量。 在该消费者实现关于这两种商品的效用最大化时,在均衡点上有 MRS XY =P X P Y 即有 MRS XY =2080 =0.25 它表明,在效用最大化的均衡点上,该消费者关于一份肯德基快餐对衬衫的边际替代率MRS 为0.25。 2. 假设某消费者的均衡如图3—1(即教材中第96页的图3—22)所示。其中,横轴OX 1和纵轴OX 2分别表示商品1和商品2的数量,线段AB 为消费者的预算线,曲线 图3—1 某消费者的均衡 U 为消费者的无差异曲线,E 点为效用最大化的均衡点。已知商品1的价格P 1=2元。 (1)求消费者的收入; (2)求商品2的价格P 2; (3)写出预算线方程; (4)求预算线的斜率; (5)求E 点的MRS 12的值。 解答:(1)图中的横截距表示消费者的收入全部购买商品1的数量为30单位,且已知P 1=2元,所以,消费者的收入M =2元×30=60元。 (2)图中的纵截距表示消费者的收入全部购买商品2的数量为20单位,且由(1)已知收入 M =60元,所以,商品2的价格P 2=M 20=6020=3元。 (3)由于预算线方程的一般形式为 P 1X 1+P 2X 2=M 所以,由(1)、(2)可将预算线方程具体写为:2X 1+3X 2=60。 (4)将(3)中的预算线方程进一步整理为X 2=-23X 1+20。很清楚,预算线的斜率为-23 。 (5)在消费者效用最大化的均衡点E 上,有MRS 12=P 1P 2 ,即无差异曲线斜率的绝对值即MRS 等于预算线斜率的绝对值P 1P 2。因此,MRS 12=P 1P 2=23。

Java程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案 ――大学 习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

《Java基础入门》_课后习题答案解析__1~

第1章 Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程 序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章 Java编程基础 一、填空题 1、 class 2、 true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、 & && | || 7、 0 8、 5 9、 34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application 的入口方法main()的检验: main()方法的参数名就是否可以改变? main()方法的参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译不?如果能编译,能运行不? 参考答案:当一个程序没有main()方法就是,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? byte i = 127; byte j = 128; long l1 = 999999; long l2 = 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与long l2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 = 3、5; float f2 = 3、5f; 参考答案:java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型的,但就是int类型无法转换为char类型的;(2)int 可以转换为double类型的,但就是double类型无法转换为int 类型的。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1) 4+5 == 6*2 (2) (4=5)/6 (3) 9%2*7/3>17 (4) (4+5)<=6/3 (5) 4+5%3!=7-2 (6) 4+5/6>=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法的。 7、下列()就是合法的Java标识符。 (1) Counter1 (2) $index, (3) name-7 (4) _byte (5) larray (6) 2i

文本预览
相关文档 最新文档