JavaEE基础教程课后习题答案

JavaEE基础教程课后习题答案
JavaEE基础教程课后习题答案

第一章Java语言概述与编程环境

1.Java语言特点是什么?

Java语言具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。

2.什么叫Java虚拟机?什么叫Java平台?Java虚拟机与Java平台的关系如何?

Java虚拟机(Java Virtual Machine) 简称JVM 。Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

3.Java程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名规则是怎样的?

一个Java源程序是由若干个类组成。一个Java程序不一定需要有public类:如果源文件中有多个类时,则只能有一个类是public类;如果源文件中只有一个类,则不将该类写成public 也将默认它为主类。源文件命名时要求源文件主名应与主类(即用public修饰的类)的类名相同,扩展名为.java。如果没有定义public类,则可以任何一个类名为主文件名,当然这是不主张的,因为它将无法进行被继承使用。另外,对Applet小应用程序来说,其主类必须为public,否则虽然在一些编译编译平台下可以通过(在BlueJ下无法通过)但运行时无法显示结果。

4.开发与运行Java程序需要经过哪些主要步骤和过程?

(1) 下载、安装J2SDK;

(2) 设置运行环境参数:JAVA_HOME、PATH、CLASSPATH;

(3) 使用文本编辑器编写原代码如HelloWorld.java;

(4) 运行命令“javac HelloWorld.java”编译HelloWorld.java为HelloWorld.class;

(5) 运行“java HelloWorld”生成HelloWorld.exe。

5.怎样区分应用程序和小应用程序?应用程序的主类和小应用程序的主类必须用public修饰吗?

Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML 编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。两者的主要区别是:任何一个Java Application应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。

应用程序的主类当源文件中只有一个类时不必用public修饰,但当有多于一个类时则主类必须用public修饰。小应用程序的主类在任何时候都需要用public来修饰。

6.安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?

(1)PATH环境变量。设置环境变量path是因为window xp是多用户操作系统,支持不同用户的个性化系统定制,这里设置的信息只影响当前用户,而不会影响其他用户。假如只有一个用户,只是运行.class文件,则也不需要设置path环境,因为JDK安装之后会把java.exe 等几个关键文件复制到c:\windows\system32目录中,而此目录已经存在于path变量,所以说用户变量path随不同用户而设置的,设置路径:“D:\jdk1.5\bin ”。PATH环境变量作用

是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc 等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。

(2)CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。设置classpath环境变量是为了运行一些特殊的java程序,如以.jar为后缀的文件或者是javac运行java程序,假如不运行这类程序,也就不必要设置classpath环境变量了,设置方法是:(安装jdk是的目录为:d:\jdk1.5) 那么就在“变量值”文本框中键入:“.;D:\jdk1.\lib\dt.jar;D:\jdk1.5\lib\tools.jar ”;

第二章Java编程基础

1.试分析基本数据类型和引用数据类型的基本特点。

Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。

基本数据类型包括byte、int、char、long、float、double、boolean和short。

引用类型都是用类或对象实现的,引用数据类型包括:类,数组,接口。

基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的。不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的指针,真正的内容被手动的分配在堆上。

2.分析以下程序段,得到什么打印结果: 0 -1 1 2

System.out.println( 1 >>> 1);

System.out.println( -1 >> 31);

System.out.println( 2 >> 1);

System.out.println( 1 << 1);

3.以下temp 变量的最终取值是: 1

long temp = (int)3.9;

temp %= 2;

4.以下代码运行后得到的输出结果: Not equal! 10

int output=10;

boolean b1 = false;

if((b1==true) && ((output+=10)==20)){

System.out.println("We are equal "+output);

}

else{

System.out.println("Not equal! "+output);

}

5.以下代码运行后的输出结果: We are equal 20

int output=10;

boolean b1 = false;

if((b1=true) && ((output+=10)==20)){

System.out.println("We are equal "+output);

}

else{

System.out.println("Not equal! "+output);

}

6.运行以下程序,将得到的输出结果: 17 9 17 9

public class Abs{

static int a=0x11;

static int b=0011;

static int c='\u0011';

static int d=011;

public static void main(String args[]){

System.out.println(a);

System.out.println(b);

System.out.println(c);

System.out.println(d);

}

}

7.分析下列代码段,i、count变量的最终取值是: 6 12

int i=3;

int count=(i++)+(i++)+(i++);

8.字符‘A’的Unicode 编码为65。下面代码正确定义了一个代表字符‘A’的选项是:a c d

A) char ch = 65; B) char ch = '\65'; C) char ch = '\u0041';

D) char ch = 'A'; E)char ch = "A";

9.下面哪些是java关键字: a d e g h

A) final B) Abstract C) Long D) static

E) class F) main G) private H) System

10.下面哪些是不合法的标识符 c e f h

A) do_it_now B) _Substitute C) 9thMethod D) $addMoney

E) %getPath F) 2variable G) variable2 H) #myvar

11.字节型数据的取值范围是: -128到127

12.请问下面哪些变量定义语句编译时会出错: a c f h

A) float f = 1.3; B) double D=4096.0; C) byte b = 257;

D) String s = "1"; E) int i = 10; F) char c = "a";

G) char C=4096; H) boolean b = null;

13.如果调用下面方法且参数值为67,那么方法的返回值是: 64

public int maskoff(int N){

return N^3;

}

14.编写程序将34.5和68.4两个数相加,并将结果显示成以下形式:x+y=34.5+68.4=***.* public class test {

public static void main(String[] args) {

float x=34.5f, y=68.4f;

System.out.println( "x+y="+x+"+"+y+"="+(x+y));

第三章控制结构

1.结构化程序设计有哪三种流程?他们分别对应Java中那些语句。

结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。

2.在一个循环中使用break、continue和return有什么不同?

break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。

continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。

在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的下一个语句执行。

3.面代码将输出:________

a=9;b=18;c=4;d=14;e=-14;f=-2

g=18.4;h=2.3999999999999986;i=5;j=3;k=5

public class test3{

public static void main(String args[]){

int a=5+4;

int b=a*2;

int c=b/4;

int d=b-c;

int e=-d;

int f=e%4;

double g=18.4;

double h=g%4;

int i=3;

int j=i++;

int k=++i;

System.out.println("a="+a+";b="+b+";c="+c+";d="+d+";e="+e+";f="+f);

System.out.println("g="+g+";h="+h+";i="+i+";j="+j+";k="+k);

}

}

4.下面代码将输出:________

25<3=false

3!=0&&25/3>5=true

0!=0&&25/0>5=false

public class LogicTest{

public static void main(String args[]){

int a=25,b=3;

boolean d=a

System.out.println(a+"<"+b+"="+d);//=;

int e=3;

d=(e!=0&&a/e>5);

System.out.println(e+"!=0&&"+a+"/"+e+">5="+d);

int f=0;

d=(f!=0&&a/f>5);

System.out.println(f+"!=0&&"+a+"/"+f+">5="+d);

}

}

5.编写程序,求两个整数的最大公约数。

import java.util.Scanner;

public class Gcd_Lcm{

public static void main(String args[]){

Scanner sc = new Scanner(System.in);

System.out.println("输入2个数:以',' 隔开");

String []str = sc.next().split(",");

int m = Integer.parseInt(str[0]);

int n = Integer.parseInt(str[1]);

int min = m>n?n:m;

int max = m>n?m:n;

int num1 =1;

int num2 = max;

for (int i = min; i>0; i--) {

if (m%i==0&&n%i==0) {

num1 = i;break;

}

}

while (true) {

if (num2%m==0&&num2%n==0) {

break;

}

num2 = m*n>num2*2?num2*2:m*n;

}

System.out.println("最大公约数:"+num1+" 最小公倍数:"+num2); }

}

6.编写程序,打印出如下九九乘法表。

* | 1 2 3 4 5 6 7 8 9

-------|-------------------------------------------------------

1 | 1

2 | 2 4

3 | 3 6 9

4 | 4 8 12 16

5 | 5 10 15 20 25

6 | 6 12 18 24 30 36

7 | 7 14 21 28 35 42 49

8 | 8 16 24 32 40 48 56 64

9 | 9 18 27 36 45 54 63 72 81

public class NineByNineMul{

public static void main(String args[]){

System.out.print(" * |");

for(int i=1;i<=9;i++){

System.out.print(" "+i+" ");

}

System.out.println();

System.out.print("-------|-----");

for(int i=1;i<=9;i++){

System.out.print("-----");

}

System.out.println();

for(int i=1;i<=9;i++){

System.out.print(" "+i+" | ");

for(int j=1;j<=i;j++){

System.out.print(i*j+" ");

}

System.out.println();

}

}

}

7.下面代码将输出: one two default

int i = 1;

switch (i) {

case 0: System.out.println("zero");

break;

case 1: System.out.println("one");

case 2: System.out.println("two");

default:System.out.println("default");

}

8.下面代码将输出: Equal

class EqualsTest {

public static void main(String[] args) {

char a='\u0005';

String s=a==0x0005L?"Equal":"Not Equal";

System.out.println(s);

}

}

9.编写程序,对A[]={30,1,-9,70,25}数组由小到大排序。public class booktest {

public static void main(String[] args) {

int a[]={30,1,-9,70,25};

System.out.print("数组原始顺序:");

for (int i=0;i

for (int i = 0; i < a.length; i++) {

int lowerIndex = i;

for (int j = i + 1; j < a.length; j++)

if (a[j] < a[lowerIndex]) lowerIndex = j;

int temp = a[i];

a[i] = a[lowerIndex];

a[lowerIndex] = temp;

}

System.out.print("\n数组排序后的顺序:");

for (int i=0;i

}

}

10.运行下面代码将输出什么内容?one

int i=1;

switch(i){

case 0: System.out.println("zero");

break;

case 1: System.out.println("one");

break;

case 2: System.out.println("two");

break;

default: System.out.println("default");

}

11.编写程序,求2-1000内的所有素数,并按每行5列的格式输出。

public class PrimeTest{

public static void main(String args[]) {

int num=2;

System.out.print(2 + " ");

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

System.out.print(i + " ");

if(num++%5 == 0)System.out.println();

}

}

}

12.编写程序,生成100个1~6之间的随机数,统计1~6每个数字出现的概率。public class RandomTest {

public static void main(String[]args){

int[] randomnum=new int[100];

int[] n=new int[6];

double a;

for(int i=0;i<100;i++){

a = Math.random()*6;

a = Math.ceil(a);

randomnum[i] = new Double(a).intValue();

System.out.print(randomnum[i]);

switch (randomnum[i]){

case 1: n[0]++; break;

case 2: n[1]++; break;

case 3: n[2]++; break;

case 4: n[3]++; break;

case 5: n[4]++; break;

case 6: n[5]++; break;

}

}

System.out.println();//以下可改为循环输出

System.out.println(" 数字1出现的概率="+(n[0]/100.0)*100+"%");

System.out.println(" 数字2出现的概率="+(n[1]/100.0)*100+"%");

System.out.println(" 数字3出现的概率="+(n[2]/100.0)*100+"%");

System.out.println(" 数字4出现的概率="+(n[3]/100.0)*100+"%");

System.out.println(" 数字5出现的概率="+(n[4]/100.0)*100+"%");

System.out.println(" 数字6出现的概率="+(n[5]/100.0)*100+"%");

}

}

13.编写程序,求1!+2!+3!+…+15!。

public class FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

int sum=0;

for(int j=1;j<=15;j++)

{

sum+=f(j);

}

System.out.println(sum);

}

}

14.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!+…的前15项的和。for循环代码:

public class For_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

for(int j=1;j<=15;j++)

{

sum+=1.0/f(j);

}

System.out.println(sum);

}

}

do-while循环代码:

public class DoWhile_FactorialSum {

static int f(int x) {

if (x<=0) return 1;

else

return x*f(x-1);

}

public static void main(String[]args){

double sum=0;

int j=1;

do {

sum+=1.0/f(j);

j++;

}

while(j<=15);

System.out.println(sum);

}

}

15.编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序。

(分别采用冒泡排序、选择排序和插入排序方法)

public class SortAll {

public static void main(String[] args) {

int a[]={20,10,55,40,30,70,60,80,90,100};

System.out.println("----冒泡排序的结果:");

maoPao(a);

System.out.println();

System.out.println("----选择排序的结果:");

xuanZe(a);

System.out.println();

System.out.println("----插入排序的结果:");

chaRu(a);

}

// 冒泡排序

public static void maoPao(int[] x) {

for (int i = 0; i < x.length; i++) {

for (int j = i + 1; j < x.length; j++) {

if (x[i] > x[j]) {

int temp = x[i];

x[i] = x[j];

x[j] = temp;

}

}

}

for (int i : x) {

System.out.print(i + " ");

}

}

// 选择排序

public static void xuanZe(int[] x) {

for (int i = 0; i < x.length; i++) {

int lowerIndex = i;

// 找出最小的一个索引

for (int j = i + 1; j < x.length; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

// 交换

int temp = x[i];

x[i] = x[lowerIndex];

x[lowerIndex] = temp;

}

for (int i : x) {

System.out.print(i + " ");

}

}

// 插入排序

public static void chaRu(int[] x) {

for (int i = 1; i < x.length; i++) {//i从1开始,因为第1个数已经是排好序的for (int j = i; j > 0; j--) {

if (x[j] < x[j - 1]) {

int temp = x[j];

x[j] = x[j - 1];

x[j - 1] = temp;

}

}

}

for (int i : x) {

System.out.print(i + " ");

}

}

}

16.编写程序,产生30个素数,按从小到大的顺序放入数组prime[]中。public class PrimeArray {

public static void main(String args[]) {

int[] primearry=new int[30];

primearry[0]=2;

int num=1;

System.out.print(2 + " ");

for(int i=3;i<=1000;i+=2){

boolean f = true;

for (int j=2;j

if(i % j == 0){

f= false;

break;

}

}

if(!f) {continue;}

primearry[num++]=i;

System.out.print(i + " ");

if(num%5 == 0)System.out.println();

if(num==30)break;

}

}

}

17. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。分别编写一个应用程序和小应用程序求1000之内的所有完数。

public class Wanshu {

public static void main(String[] args) {

int sum=0,i,j;

for(i=1;i<=1000;i++)

{

for(j=1,sum=0;j

{

if(i%j==0)

sum=sum+j;

}

if(sum==i)

{

System.out.print ("完数:"+i+" "+"其因子是:" );

for(int k=1;k<=sum/2;k++)

{

if(sum%k==0)

System.out.print(" "+k);

}

System.out.println();

}

}

}

}

18. 从键盘读取若干个数,以“-1”结束,按从小到大的顺序排序。

import java.util.Scanner;

public class sc_num {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

int scnum=0,i=0;

int []scarry=new int[30];

System.out.println("输入整数(-1结束):");

while(scnum!=-1){

scarry[i]=scanner.nextInt();;

scnum=scarry[i];

i++;

}

xuanZe(scarry,i-1);

}

// 选择排序

public static void xuanZe(int[] x,int n) {

for (int i = 0; i

int lowerIndex = i;

for (int j = i + 1; j < n; j++) {

if (x[j] < x[lowerIndex]) {

lowerIndex = j;

}

}

int temp = x[i];

x[i] = x[lowerIndex];

x[lowerIndex] = temp;

}

for (int i=0;i

System.out.print(x[i] + " ");

}

}

}

第四章类与对象的基本概念

1.面向对象的软件开发有哪些优点?

面向对象设计是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,是建立在“对象”概念基础上的方法学。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

从面向过程到面向对象是程序设计技术的一个飞跃。人们之所以要采用面向对象的程序设计技术,其目的在于:按照与人类习惯思维方法一致的原则开发系统;提高代码的可重用性(或者称为复用性);提升程序的开发与运行效率;提高程序的可靠性与可维护性;提高程序的可扩展性;增强程序的可控制性。总之,面向对象的程序设计,能够有效分解、降低问题的

难度与复杂性,提高整个求解过程的可控制性、可监视性和可维护性,从而获得较高的开发效率与可靠效果。

2.什么叫对象?什么叫类?类和对象有什么关系。

对象(Object)是一个应用系统中用来描述客观事物的实体,是具有特定属性(数据)和行为(方法)的基本运行单位,是类的一个特定状态下的实例。对象是一件事、一个实体、一个名词、一个可以想象为有自己的标识的任何东西。对象是类的实例化。概括来说:万物皆对象。对象具有状态,一个对象用数据值来描述它的状态。

类(Class)是Java代码的基本组织模块,是用以描述一组具有共同属性和行为的对象的基本原型,是对这组对象的概括、归纳与抽象表达。类是对象的模板,它定义了本类对象所应拥有的状态属性集及操作这组属性的行为方法集。是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。

类和对象之间的关系是抽象和具体的关系:类就是一种模板,表达的是一种抽象的概念,它描述了该类对象的共同特征,类是在对象之上的抽象,对象则是类的具体化,是类的实例。对象是模板的实例化,是个性的产物,是一个具体的个体;类必须通过对象才能使用,而对象中的属性和行为都必须在类中定义;类由属性和行为(方法)组成。

3.什么是包?把一个类放在包里有什么作用?

Java中的包(Package) 是一种松散的类的集合,是用来组织与管理类与接口的容器。包的作用主要是把需要协同工作的不同的类组织在一起,使得程序功能清楚、结构分明。

4.作用域public、private、protected以及不写时(default)有什么区别?

当用一个类创建了一个对象之后,该对象可以通过“.”运算符访问自己的变量,并使用类中的方法。但访问自己的变量和使用类中的方法是有一定限制的。通过修饰符private、default、protected和public来说明类成员的使用权限。

private(私有的):类中限定为private的成员只能在这个类中被访问,在类外不可见。default(无修饰符,缺省的):如果没有访问控制符,则该类成员可以被该类所在包中的所有其它类访问。

protected(受保护的):用该关键字修饰的类成员可以被同一类、被该类所在包中的所有其它类或其子类(可以不在同一包中)的实例对象访问。

public:用public修饰的类成员可以被其他任何类访问,前提是对类成员所在的类有访问权限。

类成员访问控制符与访问能力之间的关系

同一个类同一个包不同包的子类不同包非子类

private *

default * *

protected ** *

public * * * *

5.什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?

方法是Java类的一个组成部分,通过类的方法改变对象的状态。

方法的结构:[方法修饰符] 返回值类型方法名([形参列表])[throws异常列表]

{

方法体;

设计方法应考虑因素有:

(1) 方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。(2) 返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。

(3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表示。形式参数列表的形式如下:(类型形参名,类型形参名,……)

(4) throws异常列表规定了在方法执行中可能导致的异常。

6.什么是方法的覆盖?与方法的重载有何不同?方法的覆盖与属性的隐藏有何不同?

子类重新定义父类中已经存在的方法,称为方法的覆盖。

方法重载指一个类中有多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。返回类型不能用来区分重载的方法。其实方法重载的最主要的作用就是实现同名的构造方法可以接受不同的参数。参数类型的区分度一定要足够,例如不能是同一简单类型的参数,如int与long。方法的重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。

方法覆盖与属性的隐藏不同:子类重新定义父类已有的域,并不能完全取代它从父类那里继承的同名的域,这个域仍然占用子类的内存空间,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不再在子类的内存空间中占一席之地。

7.什么是成员变量、局部变量、类变量和实例变量?

在方法外但在类声明内定义的变量叫成员变量,作用域是整个类。

在方法体中定义的变量和方法的参数被称为局部变量。

类的成员变量分为类变量和实例变量,类变量是用关键字static声明的变量。成员变量在整个类内都有效,局部变量只在定义它的方法内有效。

他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null,类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。

8.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?继承(Inheritance):继承是指从已有的类中派生出若干个新类,是子类自动共享父类之间数据和方法的机制。已有类称为基类或父类,新类称为派生类或子类;子类将自动地获得基类的属性与方法,从而不需再重复定义这些属性与方法;当然子类还可以修改父类的方法或增加新的方法,从而使自己更适合特殊的需要。类之间的继承关系是现实世界中遗传关系的直接模拟。

如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。继承是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。这非常类似大自然中的物种遗传。

9.什么是多态?面向对象程序设计为什么要引入多态的特性?

多态性:是指不同类的对象收到相同的消息时,得到不同的结果。即允许不同类的对象对同一消息作出各自的响应,以统一的风格处理已存在的数据及相关的操作。即

多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题。多态的特点大大提高了程序的抽象程度和简洁性,更重要的是它最大限度地降低了类和程序模块之间的耦合性,提高了类模块的封闭性,使得它们不需了解对方的具体细节,就可以很好地共同工作。这对程序的设计、开发和维护都有很大的好处。

10.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?

这样说是不对的,因为父类的私有方法不能被继承。如果父类有N个私有域和方法而只有一个非私有的域或方法时,跟据继承的原则子类只能拥有父类的非私有域和方法。这时子类的域和方法就要小于父类了。

11.父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?

一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用。

12.以下代码共创建了几个对象: 2

String s1=new String("hello");

String s2=new String("hello");

String s3=s1;

String s4=s2;

13.分析以下代码,编译时出现什么现象: The local variable myArg may not have been initialized public class Test {

static int myArg = 1;

public static void main(String[] args) {

int myArg;

System.out.println(myArg);

}

}

14.对于以下程序,运行“java Mystery Mighty Mouse”,得到的结果: Mouse Mighty public class Mystery {

public static void main(String[] args) {

Changer c = new Changer();

c.method(args);

System.out.println(args[0] + " " + args[1]);

}

static class Changer {

void method(String[] s) {

String temp = s[0];

s[0] = s[1];

s[1] = temp;

}

}

}

15.阅读下列程序,写出输出的结果: i = 100 i = 10 i = 10

class Xxx {

private int i;

Xxx x;

public Xxx() {

i = 10;

x = null;

}

public Xxx(int i) {

this.i = i;

x = new Xxx();

}

public void print() {

System.out.println("i = " + i);

System.out.println(x);

}

public String toString() {

return "i = " + i;

}

}

public class Test{

public static void main(String[] args) {

Xxx x = new Xxx(100);

x.print();

System.out.println(x.x);

}

}

16.为了使以下Java应用程序输出11、10、9,应在(**)处插入的语句是: i[a]=(int)x[a]+1; 如果要求输出10、9、8,则在(**)处插入的语句应是: i[a]=(int)x[a];

public class GetIt {

public static void main(String args[]) {

double x[] = {10.2, 9.1, 8.7};

int i[] = new int[3];

for(int a = 0;a < (x.length);a++) {

(**)

System.out.println(i[a]);

}

}

}

17.阅读下列程序,分析程序的输出结果: My func abstract class Base{

abstract public void myfunc();

public void another(){

System.out.println("Another method");

}

}

public class Abs extends Base{

public static void main(String argv[]){

Abs a = new Abs();

a.amethod();

}

public void myfunc(){

System.out.println("My func");

}

public void amethod(){

myfunc();

}

}

18.分析以下代码,编译时会出现的错误信息是: Test.java:6:secret 可以在A中访问private

(return a.secret++; 出错)

class A{

private int secret;

}

public class Test{

public int method(A a){

return a.secret++;

}

public static void main(String args[]){

Test test=new Test();

A a=new A();

System.out.println(test.method(a));

}

}

19、分析以下程序,写出运行结果: 1234

public class Test19 {

public static void changeStr(String str){

str="welcome";

}

public static void main(String[] args) {

String str="1234";

changeStr(str);

System.out.println(str);

}

}

20、分析以下程序,写出运行结果: ABDCBDCB

public class Test20 {

static boolean foo(char c) {

System.out.print(c);

return true;

}

public static void main(String[] args) {

int i = 2;

for (foo('A'); foo('B') && (i < 4); foo('C')) {

i++;

foo('D');

}

}

}

21.编写程序,要求创建一个Dog类,添加name,eyeColor属性,为该属性自动添加相应的set和get方法,并给出至少两个构造方法。

public class Dog {

private String name, eyeColor;

// 无形参的构造方法

public Dog (){

this. name ="逗逗";

this. eyeColor = "黑";

}

// 有形参的构造方法

public Dog(String name, String eyeColor ){

this. name = name;

this. eyeColor = eyeColor;

}

public String getEyeColor() {

return eyeColor;

}

public void setEyeColor(String eyeColor) {

this.eyeColor = eyeColor;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.360docs.net/doc/d82491490.html, = name;

}

}

22.统计一个字符串中出现某个字母的次数(注意区分大小写)。

String类中的相关方法(具体用法请查看JDK帮助文档):

length( ):计算字符串长度,得到一个int型数值;

indexOf( ):在字符串中定位某个子串,并返回位置编号

substring( ):截取字符串中的一部分,并作为一个新字符串返回;

equals( ):比较两个String内容是否完全相同。

String str = "abckajbfhbbkhfgabkbjkdfasjkbdanjkasfbai";

String chr = "b";

int count = 0;

for (int i = 0; i < str.length(); i++) {

if (chr.equals(str.charAt(i))) count++;

}

System.out.println("The count is " + count);

23. 创建一个桌子(Table)类,该类中有桌子名称、重量、桌面宽度、长度和桌子高度属性,以及以下几个方法:

(1) 构造方法:初始化所有成员变量。

(2) area( ):计算桌面的面积。

(3) display( ):在屏幕上输出所有成员变量的值。

(4) changeWeight(int w):改变桌子重量。

在测试类的main()方法中实现创建一个桌子对象,计算桌面的面积,改变桌子重量,并在屏幕上输出所有桌子属性的值。

package com.test;

public class Table {

String name;//名称

double weight;//重量

double width;//宽

double longth;//长

double height;//高

//构造方法

public Table(String name, double weight, double width, double longth,

double height) {

super();

https://www.360docs.net/doc/d82491490.html, = name;

this.weight = weight;

大学物理实验课后习题答案

一牛顿环的各环是否等宽?密度是否均匀?解释原因? 因为环是由空气劈上下表面反射的两束光叠加干涉形成的。劈的上表面变化在横向是不均匀的,故光程差也不是均匀变化的。所以各环是不等宽的环的密度也不是均匀的。各环不等宽,半径小的环宽,越到外边越窄,密度是不均匀的,牛顿环的半径公式是:半径r等于根号下(m+1/2)λR,其中m为环的级数。从公式可以看出,半径和环数并不是线性关系,这样环自然不均匀。计算可以知道,越往外环越密。 二牛顿环的干涉圆环是由哪两束相干光干涉产生的? 半凸透镜下表面和下底面上表面的两束反射光 三电桥由哪几部分组成?电桥平衡的条件? 由电源、开关、检流计桥臂电阻组成。 平衡条件是Rx=(R1/R2)R3 四接通电源后,检流计指针始终向一边偏转,试分析出现这种情况的原因? 指针向一侧偏转就说明发生了电子的定向移动了,这个应该没问题。 指针不偏转,有2种情况吧,其1呢是整个电路发生了断路或其他故障,还1种情况则是流过的电流太小,不足于使电表发生偏转或其偏转的角度肉眼根本看不到。 无论如何调节,检流计指针都不动,电路中可能出现故障是调节臂电阻断路或短路。。无论如何调节,检流计指针始终像一边偏而无法平衡,电路中有可能出现故障是有一个臂(非调节臂)的电阻坏了。(断路或短路) 五什么叫铁磁材料的磁滞现象? 铁磁物质经外磁场磁化到饱和以后,把磁场去掉。这些物质仍保留有剩余磁化强度。需要反方向加磁场才能把这剩余磁化强度变为零。这种现象称为铁磁的磁滞现象。也是说,铁磁材料的磁状态,不仅要看它现在所处的磁场条件;而且还要看它过去的状态。 六如何判断铁磁材料属于软.硬材料? 软磁材料的特点是:磁导率大,矫顽力小,磁滞损耗小,磁滞回线呈长条状;硬磁材料的特点是:剩磁大,矫顽力也大 用光栅方程进行测量的条件是什么? 条件是一束平行光垂直射入光栅平面上,光波发生衍射,即可用光栅方程进行计算。如何实现:使用分光计,光线通过平行光管射入,当狭缝位于透镜的焦平面上时,就能使射在狭缝上的光经过透镜后成为平行光 用光栅方程进行测量,当狭缝太窄或者太宽会怎么样?为什么? 缝太窄,入射光的光强太弱,缝太宽,根据光的空间相干性可以知道,条纹的明暗对比度会下降! 区别是,太窄了,亮纹会越来越暗,暗纹不变,直到一片黑暗! 太宽,暗条纹会逐渐加强,明纹不变,直到一片光明!

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

邹申版英语写作教程1课后答案-UNIT 2-keys

P21 Pronouns 1)She me 2)Me 3)Him 4)She 5)Who 6)Whoever 7)Who/whom 8)Whom P25 2 1)play a minor role 2) That’s Greek to me 3) belated action 4)Where there is smoke there is fire 5) be a utility man 6)walk into the trap 7) one’s face glowing with health 3 1)We must practice economy. We must reduce unnecessary expenditures. 2)It is essential to control environmental pollution. 3)We must arrive at the station on time. 4)Financial expenditures should be arranged in order of priority. 5)We should speed up construction of urban housing, so as to improve the housing conditions. 6)Private capital has to meet two conditions. First, the profits must be legal. Second, they must be excessive. 7)During the period of the Eleventh Five-Year Plan we must never neglect grain production. Instead, we must steadily increase it. P26 5 1)me 2)who 3)I 4)me/myself 5)me 6)each other’s 7)who 8)us 9)whom 10)Some 11)one’s 12)his 13)his 14)his his

操作系统教程_孙钟秀(第四版)课后习题答案

首页入门学 习 程序 员 计算机考 研 计算机电子书 下载 硬件知 识 网络知 识 专业课程答案 下载 视频教程下载 第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图

大学物理实验课后答案

实验一霍尔效应及其应用 【预习思考题】 1.列出计算霍尔系数、载流子浓度n、电导率σ及迁移率μ的计算公式,并注明单位。 霍尔系数,载流子浓度,电导率,迁移率。 2.如已知霍尔样品的工作电流及磁感应强度B的方向,如何判断样品的导电类型? 以根据右手螺旋定则,从工作电流旋到磁感应强度B确定的方向为正向,若测得的霍尔电压为正,则样品为P型,反之则为N型。 3.本实验为什么要用3个换向开关? 为了在测量时消除一些霍尔效应的副效应的影响,需要在测量时改变工作电 流及磁感应强度B的方向,因此就需要2个换向开关;除了测量霍尔电压,还要测量A、C间的电位差,这是两个不同的测量位置,又需要1个换向开关。总之,一共需要3个换向开关。 【分析讨论题】 1.若磁感应强度B和霍尔器件平面不完全正交,按式(5.2-5)测出的霍尔系数比实际值大还是小?要准确测定值应怎样进行? 若磁感应强度B和霍尔器件平面不完全正交,则测出的霍尔系数比实际值偏小。要想准确测定,就需要保证磁感应强度B和霍尔器件平面完全正交,或者设法测量出磁感应强度B和霍尔器件平面的夹角。 2.若已知霍尔器件的性能参数,采用霍尔效应法测量一个未知磁场时,测量误差有哪些来源? 误差来源有:测量工作电流的电流表的测量误差,测量霍尔器件厚度d的长度测量仪器的测量误差,测量霍尔电压的电压表的测量误差,磁场方向与霍尔器件平面的夹角影响等。 实验二声速的测量 【预习思考题】 1. 如何调节和判断测量系统是否处于共振状态?为什么要在系统处于共振的条件下进行声速测定? 答:缓慢调节声速测试仪信号源面板上的“信号频率”旋钮,使交流毫伏表指针指示达到最大(或晶体管电压表的示值达到最大),此时系统处于共振状态,显示共振发生的信号指示灯亮,信号源面板上频率显示窗口显示共振频率。在进行声速测定时需要测定驻波波节的位置,当发射换能器S1处于共振状态时,发射的超声波能量最大。若在这样一个最佳状态移动S1至每一个波节处,媒质压缩形变最大,则产生的声压最大,接收换能器S2接收到的声压为最大,转变成电信号,晶体管电压表会显示出最大值。由数显表头读出每一个电压最大值时的位置,即对应的波节位置。因此在系统处于共振的条件下进行声速测定,可以容易和准确地测定波节的位置,提高测量的准确度。 2. 压电陶瓷超声换能器是怎样实现机械信号和电信号之间的相互转换的? 答:压电陶瓷超声换能器的重要组成部分是压电陶瓷环。压电陶瓷环由多晶结构的压电材料制成。这种材料在受到机械应力,发生机械形变时,会发生极化,同时在极化方向产生电场,这种特性称为压电效应。反之,如果在压电材料上加交

工程数学基础教程课后习题答案

工程数学基础习题解答

习题一 A

一、判断题 1.√;, 2.√; 3.×; 4.×; 5.×; 6.×; 7.×; 8.√; 9.√;10.×. 二、填空题 1.;C C A B 2.111(){1,2,3,4},(){,,},(){,,},(){1,4},(){2,3};f f a b e f A a b e f B f b --=====D R 3.满; 4.2sup = E ,3inf -=E ; 5.0; 6.0; 7. n ; 8.Y . B 1.证 ()y f A B ?∈?,x A B ?∈?使得)(x f y =.由x A B ∈?,得x A ∈,且x B ∈故()()y f x f A =∈且()y f B ∈,即()()y f A f B ∈?,因此()()()f A B f A f B ???. 当f 是单射时,只需证明()()()f A f B f A B ???即可: ()()(),y f A f B f ?∈??R f 由是单射知,(). (),(),1X y f x y f A y f B x ?=∈∈∈使得且 ,,()(),x A x B x A B y f x f A B ∴∈∈∈?=∈?且即从而故()()()f A f B f A B ???. 是可能的,例如, 2:,[2, 0],[1, 3],[1, 0].f x x A B A B =-=-?=-取则()([1,0])[0, 1], f A B f ?=-=于是而 [][]()()0, 4[0, 9]0, 4.f A f B ?=?=从而有 . 2. 证(1)n ?∈,有)2 ,2(12 ,12][-?-+-n n ,故 ∞ =-?-+-1)2 ,2(12 12][n n ,n . 另一方面,)2 ,2(-∈?x ,k ?∈ ,使][12 ,12k k x -+-∈,故 ∞ =-+-∈1 ][12 12n n ,n x ,于是 ? -)2 ,2( ∞ =-+-1 ][12 12n n ,n . 因此, ∞ =-+-= -1 ][12 ,12)2 ,2(n n n . (2)n ?∈,有)12 ,12(]2 ,2[n n +--?-,故 ∞ =+--?-1)12 ,12(]2 ,2[n n n . 另一方面,对任意]2 ,2[-?x ,即2>x ,k ?∈ ,使得212>+>k x ,即 )12 ,12(k k x +--?,从而 ∞ =+--?1)12 ,12(n n n x ,故 ∞ =-?+--1 ]2,2[)12 ,12(n n n .

邹申版英语写作教程1课后答案-unit6-keys

UNIT 6 P75 1)The enraged father threatened to throw the screaming boy out of the room. 2)You can use the frequently used method. 3)Tommy, filled with despair, left the office. 4)Smiling through the window, the girl is enjoying one of the happiest days in her life. 5)The boy was sitting at his desk, his feet gently tapping the floor. 6)The computers damaged by an unknown virus, the employees are happy to take the day off. P76 Task1 Sentences 1) and 2) participles as attributes Sentences 3) and 4) participles to indicate simultaneous actions Sentences 5) and 6) as absolute constructions P78 1. smiling 2. Reading 3. Swimming 4. competing broken informing 8. Having exhausted relieved P80 Task 2 1.The computer bought last week brings happiness to everyone in my family. 2.Being back in my hometown, I didn’t know that my professor had \assigned another 5000-word paper. 3.Standing in front of the picture painted by a post-impressionist, many people pretended that they could understand it. 4.Looking out of the window of the train, the boy was amused by the power lines dancing up and down in the air. P81 Classroom Activities Task 1 1.Kate fell asleep when reading Bo b’s letter. 2.She started to chat with her friend after finish/ having finished her work. 3.Although having seen it a thousand and one times, the old man still watches the video from time to time. 4.Though closely watched by the guards, the prisoner plans to escape. 5.It is believed that if read many times, an article will naturally be understood. 6.if buying more, you can pay less. P82 B a. 2) P83 Classroom activities Task 1 1)Thinking about her kid at home, Judy… 2)Racing along the street, the car sent… 3)Born in educated in …, she is now working …

操作系统》第章教材习题解答

第4章存储管理 “练习与思考”解答 1.基本概念和术语 逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动 用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。 内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。 由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。 由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。 程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。 静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。 动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。 内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。 为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩(或叫拼凑)。 虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。 若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。此时,系统好像很忙,但实际效率却很低。这种现象称为“抖动”。 2.基本原理和技术 (1)存储器一般分为哪些层次?各有何特性? 存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。 CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。 高速缓存(Cache),它们大多由硬件控制。Cache的速度很快,它们放在CPU内部或非常靠近CPU的地方。但Cache的成本很高,容量较小。 内存(或称主存),它是存储器系统的主力,也称作RAM(随机存取存储器)。CPU可以直接存取内存及寄存器和Cache中的信息。然而,内存中存放的信息是易变的,当机器电源被关闭后,内存中的信息就全部丢失了。 磁盘(即硬盘),称作辅助存储器(简称辅存或外存),它是对内存的扩展,但是CPU不能直接存取磁盘上的数据。磁盘上可以永久保留数据,而且容量特别大。磁盘上数据的存取速度低于内存存取速度。 磁带保存的数据更持久,容量更大,但它的存取速度很慢,而且不适宜进行随机存取。所以,磁带设备一般不能用做辅存。它的主要用途是作为文件系统的后备,存放不常用的信息或用做系统间传送信息的介质。 (2)装入程序的功能是什么?常用的装入方式有哪几种? 装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区中。 程序装入内存的方式有三种,分别是绝对装入方式、可重定位装入方式和动态运行时装入方式。

大学物理实验课后答案

(1)利用f=(D+d)(D-d)/4D 测量凸透镜焦距有什么优点? 答这种方法可以避免透镜光心位置得不确定而带来得测量物距与像距得误差。 (2)为什么在本实验中利用1/u+1/v=1/f 测焦距时,测量u与v都用毫米刻度得米尺就可以满足要求?设透镜由于色差与非近轴光线引起得误差就是1%。 答设物距为20cm,毫米刻度尺带来得最大误差为0、5mm,其相对误差为 0、25%,故没必要用更高精度得仪器。 (3)如果测得多组u,v值,然后以u+v为纵轴,以uv为横轴,作出实验得曲线属于什么类型,如何利用曲线求出透镜得焦距f。 答直线;1/f为直线得斜率。 (4)试证:在位移法中,为什么物屏与像屏得间距D要略大于4f? 由f=(D+d)(D-d)/4D →D2-4Df=d2→D(D-4f)=d2 因为d>0 and D>0 故 D>4f 1、避免测量u、ν得值时,难于找准透镜光心位置所造成得误差。 2、因为实验中,侧得值u、ν、f都相对较大,为十几厘米到几十厘米左右,而误差为1%,即一毫米到几毫米之间,所以可以满足要求。 3、曲线为曲线型曲线。透镜得焦距为基斜率得倒数。 ①当缝宽增加一倍时,衍射光样得光强与条纹宽度将会怎样变化?如缝宽减半,又怎样改变? 答: a增大一倍时, 光强度↑;由a=Lλ/b ,b减小一半 a减小一半时, 光强度↓;由a=Lλ/b ,b增大一倍。 ②激光输出得光强如有变动,对单缝衍射图象与光强分布曲线有无影响?有何影响? 答:由b=Lλ/a、无论光强如何变化,只要缝宽不变,L不变,则衍射图象得光强分布曲线不变(条纹间距b不变);整体光强度↑或者↓。

③用实验中所应用得方法就是否可测量细丝直径?其原理与方法如何? 答:可以,原理与方法与测单狭缝同。 ④本实验中,λ=632。8nm ,缝宽约为5*10^-3㎝,屏距L 为50㎝。试验证: 就是否满足夫朗与费衍射条件? 答:依题意: L λ=(50*10^-2)*(632、8*10^-9)=3、164*10^-7 a^2/8=(5*10^-5)^2/8=3、1*10^-10 所以L λ<20θ,(10θ人为控制在mv )03.050.3(±); 2)测量散热板在20θ附近得冷却速率。 4、试述稳态法测不良导体导热系数得基本原理。

MATLAB基础教程薛山第二版课后习题答案讲解

《及应用》实验指导书 《及应用》实验指导书 班级: T1243-7 姓名:柏元强 学号: 20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 语言基础..................... 错误!未指定书签。实验04051002 科学计算及绘图............. 1错误!未指定书签。实验04051003 综合实例编程.. (31)

实验04051001 语言基础 1实验目的 1) 熟悉的运行环境 2) 掌握的矩阵和数组的运算 3) 掌握符号表达式的创建 4) 熟悉符号方程的求解 2实验内容 第二章 1. 创建的变量,并进行计算。 (1) 87,190,计算 、、a*b 。 (87); (190); *b (2) 创建 8 类型的变量,数值与(1)中相同,进行相同的计算。 8(87); 8(190); *b 2.计算: (1) 操作成绩 报告成绩

(2) e3 (3) (60) (3) (3*4) 3.设,,计算: (1) (2) (3) 23; (4*u*v)(v) (((u))^2)/(v^2) ((3*v))/(u*v) 4.计算如下表达式: (1) (2) (3-5*i)*(4+2*i) (2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20

(2) 4 <= 20 (3) 4 20 (4) 4 20 (5) 'b'<'B' 4 < 20 , 4 <= 20,4 20,4 20,'b'<'B' 6.设,,,,判断下面表达式的值。 (1) (2) (3) (4) (5) (6) 395837; a><>>> 7.编写脚本,计算上面第2题中的表达式。 ('(60)='); ((60)) ('(3)='); ((3)) ('(3*4)='); ((3*4)) 8.编写脚本,输出上面第6题中的表达式的值。395837;

新世纪高等院校英语专业写作教程第一册unit1-4课后答案

Unit 1 . The little boy was chicken-hearted. 2)That statesman is a respectable figure in the political arena. 3)We sat down by the oak tree ,enjoying the breeze coming from the lake. 4)We need to drink the milk before it sours. 5)The child had difficulty finding his way to school. 6)The young woman received a lot of flowers and gifts. 7)My father drew back the curtain a little lest I see him. 8)Our university can accommodate 4,000 students. 9)Social customs vary greatly from country to country. experienced 2)elapsed 3)attempting 4)with 5)take up 6)made 7)endeavor 8)true The state attorney said that the man would be prosecuted. 2)We suppose that a referee should be disinterested but not uninterested. 3)Tony can hit a ball farther than I can. 4)We must pursue this matter farther. 5)The principle behind our constitution are a principal reason for its astounding success. 6)All the band instruments except the tuba will be carried to the auditorium for the music contest. 7)The federal government comprises the legislative,judicial,and executive branches. 8)The whole region was struck by an economic disaster. 9)(correct) 10)He was awaked to the risk. Sixty hours is the amount of work time I contracted for. 2)The jury is expected to reach its decision very quickly. 3)Each of the candidates for the position has exceptionally high qualifications. 4)Every boy and girl in the sixth grade was at fault.. 7)He is one of the students who plan to attend the speech contest. 8)The jury are to be isolated in individual hotel rooms each night during the trial. 9)Sam sprawled in the chair and knocked over one of the lamps which were on display. 10)The symptoms of mercury poisoning vary with each individual case. 11)He believes that athletics improves school morale. 12)Up goes the starter”s gun,and each of the runners becomes tense. 13)Either The Moning Post or The City News is a reliable sourse of news. 14)The first thing that catches your eye is the headlines. 15)She is one of the women who have made this country what it is.

计算机操作系统教程课后答案

第一章绪论 1.什么是操作系统的基本功能? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。 实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别? 答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。 4.讨论操作系统可以从哪些角度出发,如何把它们统一起来? 答:讨论操作系统可以从以下角度出发: (1)操作系统是计算机资源的管理者; (2)操作系统为用户提供使用计算机的界面; (3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。

ml基础教程课后习题解答

X M L基础教程课后习 题解答 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

XML基础教程课后习题 习题一 1.答:HTML是用来编写Web页的语言、不允许用户自定义标记,HTML体现数据的显示格式。XML描述数据的组织结构、可自定义标记,其标记名称是对标记所包含的数据内容含义的抽象,而不是数据的显示格式。 2.答:使用UTF-8保存 5.答:(1)不可以,(2)可以,(3)不可以 6.答:: time { display:block;font-size:18pt;font-weight:bold } hour { display:line;font-size:16pt;font-style:italic } mimute { display:line;font-size:9pt;font-weight:bold } 习题二1.答:(1)使用ANSI编码。(2)可以。(3)不合理。 2.答:不相同。 3.答:(1)和(2)。 4.答:。

5.答:“root”标记包含的文本内容都是空白字符。“a1”标记包含的文本内容:。“a2”标记包含的文本内容: 子曰"有朋自远方来,不亦乐乎"。 习题三1.答:一个规范的XML文件如果和某个DTD文件相关联,并遵守该DTD文件规定的约束条件,就称之为有效的XML文件。 2.答:DTD文件的编码必须和其约束的XML文件的编码相一致。 3.答:无关。 4.答:(1) 使用SYSTEM文档类型声明的格式: (2) 使用PUBLIC文档类型声明的格式: 5.答:一定。 6.答:(1)约束标记“张三”必须有“学号”属性 (2)约束标记“张三”必须有“学号”属性,而且学号的属性值是固定的220123。 (3)约束标记“张三”可以有也可以没有“学号”属性。 7.答:ID类型的属性的属性值具有互斥性,即所有ID类型的属性的属性值必须互不相同。 8.答:不合理。 9.答:(1)、(3)和(4)。 10.答,不是有效的。将修改为有效:

(完整版)写作教程(一)unit1答案

Unit 1 PART Ⅱ FOCUS Denotation and Connotation Suggested answer to the question If it is your teacher, most probably you will choose b, as the word portly has an implication of a more or less dignified and imposing appearance (e.g. an elderly gentleman, large and portly). However, if it is a doorkeeper, an amiable middle-aged woman, you may choose the word plump as it implies a pleasing fullness of figure (e.g. the plump goddesses of Renaissance paintings). From this exercise we can conclude that words that share the same denotative meanings can be diverse in their connotative meanings. Reference for the Classroom Activities 1.father: the male parent. It connotes support and sternness; it also connotes protection but in a serious fashion. wildflower: uncultivated plant; it connotes vitality and pleasantness. 2. a. In the West, every male person has the good qualities of males, such as bravery, spirit, and toughness. b. Anyway, she has the characteristics of a woman, such as frailty and delicacy. Attitude Reference for the Classroom Activities 2. a. unique b. pigheaded c. flattered d. fossil e. spinster Collocation Suggested answers to the exercise

操作系统教程习题答案

《操作系统教程》习题答案

习题1 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序 (6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔内发生 C、并行性是指两个及多个事件在同一时间间隔内发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么?并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性

大学物理实验课后答案

大学物理实验课后答案 Final revision by standardization team on December 10, 2020.

(1)利用f=(D+d)(D-d)/4D 测量凸透镜焦距有什么优点 答这种方法可以避免透镜光心位置的不确定而带来的测量物距和像距的误差。(2)为什么在本实验中利用1/u+1/v=1/f 测焦距时,测量u和v都用毫米刻度的米尺就可以满足要求设透镜由于色差和非近轴光线引起的误差是1%。 答设物距为20cm,毫米刻度尺带来的最大误差为,其相对误差为%,故没必要用更高精度的仪器。 (3)如果测得多组u,v值,然后以u+v为纵轴,以uv为横轴,作出实验的曲线属于什么类型,如何利用曲线求出透镜的焦距f。 答直线;1/f为直线的斜率。 (4)试证:在位移法中,为什么物屏与像屏的间距D要略大于4f 由f=(D+d)(D-d)/4D → D2-4Df=d2→ D(D-4f)=d2 因为d>0 and D>0 故D>4f 1.避免测量u、ν的值时,难于找准透镜光心位置所造成的误差。 2.因为实验中,侧的值u、ν、f都相对较大,为十几厘米到几十厘米左右,而误差为1%,即一毫米到几毫米之间,所以可以满足要求。 3.曲线为曲线型曲线。透镜的焦距为基斜率的倒数。 ①当缝宽增加一倍时,衍射光样的光强和条纹宽度将会怎样变化如缝宽减半,又怎样改变 答: a增大一倍时, 光强度↑;由a=Lλ/b ,b减小一半 a减小一半时, 光强度↓;由a=Lλ/b ,b增大一倍。 ②激光输出的光强如有变动,对单缝衍射图象和光强分布曲线有无影响有何影响 答:由b=Lλ/a.无论光强如何变化,只要缝宽不变,L不变,则衍射图象的光强分布曲线不变 (条纹间距b不变);整体光强度↑或者↓。 ③用实验中所应用的方法是否可测量细丝直径其原理和方法如何 答:可以,原理和方法与测单狭缝同。 ④本实验中,λ=632。8nm,缝宽约为5*10^-3㎝,屏距L为50㎝。试验证: 是否满足夫朗和费衍射条件 答:依题意: Lλ=(50*10^-2)*(*10^-9)=*10^-7 a^2/8=(5*10^-5)^2/8=*10^-10 所以Lλ<

相关文档
最新文档