当前位置:文档之家› Java2实用教程课后复习题参考答案

Java2实用教程课后复习题参考答案

Java2实用教程课后复习题参考答案
Java2实用教程课后复习题参考答案

Java2 实用教程(第三版)

课后习题参考答案

第1 章Java 入门

1. 开发与运行Jav a 程序需要经过哪些主要步骤和过程?

答:( 1)编写Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java

(2)编译Java 源文件:使用Java 编译器(javac.exe)。得到字节码文件*.class

(3)运行Java 程序:Java 应用程序使用Java 解释器(java.exe)执行字节码文件;

Java 小应用程序使用支持Java 标准的浏览器来执行。

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

答:①应用程序必须有main 方法,这个方法是程序执行的入口。

小应用程序没有main 方法。

②应用程序的主类不一定用public 修饰;小应用程序的主类必须用public 修饰。

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

②应用程序可以没有public 类;小应用程序一定有一个类是public 类(主类)。

③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;

有多个类时,如果有public 类(最多一个),源文件名与public 类的类

名相同,拓展名是.java;没有public 类,源文件名与任何一个类的类名

相同即可,拓展名为.java。

小应用程序:源文件名与主类的类名相同,拓展名是.java。

4. 在运行小程序的HTM L 文件中可以使用codebas e 属性指定小程序的字节码所驻留的目录。如果不使用

codebas e 属性,小程序的字节码文件必须和运行它的HTM L 文件在同一目录中。编写一个小程序并将小程

序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTM L 文件(注意其中的codebas e 属性):

存放在另一个目录中。

答:以书中小应用程序为例进行说明:

①编写Java 小应用程序源代码

import java.applet.*;

import java.awt.*;

public class Boy extends Applet

{

public void paint(Graphics g)

{

g.setColor(Color.red);

g.drawString("我一边喝着咖啡,一边学Java 呢",5,30);

g.setColor(Color.blue);

g.drawString("我学得很认真",10,50);

}

}

②将上述代码命名为Boy.java 并进行编译得到Boy.class 字节码文件;将得到的字节码文件存放在.3che. 三车资料库——学习资源共享专家

C:\5000 文件夹下;

③编写小应用程序的HTML 源文件:

④将上述编写好的代码命名为Boy.html;并将此文件存放在C:\5000 文件夹以外的任意一个文件夹中(如C:\1000);

⑤运行Boy.html。

第2 章标识符、关键字和数据类型

1. 什么叫标识符?标识符的规则是什么?

答:①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。

②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。

2. 什么叫关键字?请说出5 个关键字。

答:①Java 语言中已经被赋予特定意义的一些单词。

②class break public return static extends 等。

3. Jav a 的基本数据类型都是什么?

答:boolean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。4. 下列哪些语句是错误的:

int x = 8;

byte b = 127;

b = x;

答:b=x 语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。

5. 下列程序的输出结果是什么?

public class E

{

public static void main(Strin g args[])

{

long[] a={1,2,3,4 };

long[] b={100,200 ,300,400,500};

b=a;

System.ou t.println("数组b 的长度:"+b.length );

System.ou t.println("b[0]="+b[0]) ;

}

}

答: 数组b 的长度:4

b[0]=1

6. 上机运行下列程序,注意观察输出结果。

public class E

{

public static void main(Strin g args[])

{

for(int i=20302;i< 20322;i++)

{

System.ou t.println((char)i);

.3che. 三车资料库——学习资源共享专家

}

}

}

答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡

7. System.out.p rintln(“你好”);可输出字符串,也可以使用System.out. println( )输出变量或表达

式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.ou t.println(“”+x);System.out. println(“:”+123+“大于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out. print( )和System.out.p rintln( )的区别。

public class OutputData

{

public static void main(Strin g args[])

{

int x=234,y=432 ;

System.ou t.println(x+"<"+(2*x));

System.ou t.print("我输出结果后不回车");

System.ou t.println("我输出结果后自动回车到下一行");

System.ou t.println("x+y= "+(x+y));

System.ou t.println(" "+x+y+"=234 432");

}

}

答: 234<468

我输出结果后不回车我输出结果后自动回车到下一行

x+y= 666

234432=234432

8. 编写一个Jav a 应用程序,输出全部的希腊字母。答:

public class XLWords

{

public static void main(String args[])

{

for(int i=913;i<930;i++)

{

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

}

for(int j=931;j<938;j++)

{

System.out.print((char)j+" ");

}

for(int k=945;k<962;k++)

{

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

}

for(int t=963;t<=969;t++)

{

.3che. 三车资料库——学习资源共享专家System.out.print((char)t+" ");

}

}

}

第3 章运算符、表达式和语句1. 下列程序的输出结果是什么?

public class E

{

public static void main(Strin g args[])

{

char x='你',y='e', z= ' 吃';

if(x>'A')

y='爱';

z= '情';

}

else

y='我';

z= '她';

System.ou t.println(" "+x+y+ z) ;

}

}

答: 你爱她

2. 下列程序的输出结果是什么?

public class E3

{

public static void main(Strin g args[]) {

char c='\0';

for(int i=1;i<=4;i+ +)

{

switch(i)

{

case 1:c='b';

System.ou t.print(c);

case 2:c='e';

System.ou t.print(c);

break;

case 3:c='p';

System.ou t.print(c);

default:

System.ou t.print("!");

}

}

}

}

答:beep!!

3. 编写应用程序,求1!+2!+…+10!。答:

class Fact

public static void main(String args[])

{

int fact,sum=0;

for(int i=1;i<=10;i++)

{

fact=1;

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

fact*=j;

sum+=fact;

}

System.out.println("1 到10 的阶乘之和是:"+sum);

}

}

4. 编写一个应用程序,求10 0 以的全部素数。

答:

class Primes

{

public static void main(String args[])

{

int w=1;

for(int i=2;i<=100;i++)

{

for(int j=2;j

{

w=i%j;

if(w==0)

break;

}

if(w!=0)

System.out.println(i+"是素数");

}

}

}

5. 分别用do―whil e 和fo r 循环计算1+1/2!+1/3!+1/4!+…的前2 0 项和。答: ①for 循环

class Sum

}

}

答:beep!!

3. 编写应用程序,求1!+2!+…+10!。

答:

class Fact

{

public static void main(String args[])

{

int fact,sum=0;

for(int i=1;i<=10;i++)

{

fact=1;

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

fact*=j;

sum+=fact;

}

System.out.println("1 到10 的阶乘之和是:"+sum); }

}

4. 编写一个应用程序,求10 0 以的全部素数。

答:

class Primes

{

public static void main(String args[])

{

int w=1;

for(int i=2;i<=100;i++)

{

for(int j=2;j

{

w=i%j;

if(w==0)

break;

}

if(w!=0)

System.out.println(i+"是素数");

}

}

5. 分别用do―whil e 和fo r 循环计算1+1/2!+1/3!+1/4!+…的前2 0 项和。答: ①for 循环

class Sum

sum=0;

for(i=1;i

{

if(x%i==0)

sum+=i;

}

if(x==sum)

System.out.println(x+"是完数");

}

}

}

7. 编写应用程序,分别使用whil e 和fo r 循环计算8+88+888+…前1 0 项之和。答: ①for 循环

class TheSum

{

public static void main(String args[])

{

long sum=0,data=8;

for(int i=1;i<=10;i++)

{

sum=sum+data;

data=data*10+8;

}

System.out.println(sum);

}

}

②while 循环

class TheSum

{

public static void main(String args[])

{

long sum=0,data=8,i=0;

while(++i<=10)

sum=sum+data;

data=data*10+8;

}

System.out.println(sum);

}

}

8. 编写应用程序,输出满足1+2+3+…+n<888 8 的最大正整数n。

答:

class Maxn

{

public static void main(String args[])

{

int k=1,sum=0;

while((sum+=k)<8888)

k++;

k--;

System.out.println("最大能取到:"+k);

}

}

第4 章类、对象和接口

1. 类中的实例变量在什么时候会被分配存空间?

答: 当该类创建对象之后,实例变量才会被分配相应的存空间。

2. 什么叫方法的重载?构造方法可以重载吗?

答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。

②构造方法可以重载。

3. 类中的实例方法可以操作类变量(stati c 变量)吗?类方法(stati c 方法)可以操作实例变量吗?

答:①类中的实例方法可以操作类变量。

②类方法不可以操作实例变量

4. 类中的实例方法可以用类名直接调用吗?

答: 类中的实例方法不可以用类名直接调用。

5. 举例说明protecte d 方法和友好方法的区别。

答: 当子类与父类不在同一个包中时,子类可以继承父类的protected 方法;而友好方法此时则不能被子

类继承。

6. 举例说明类变量和实例变量的区别。

答:⑴书写: 定义成员变量时,类变量有static 修饰;实例变量没有static 修饰。

例: class A

{

int x; //实例变量

static int y; //类变量

}

⑵存: 不创建对象,类的实例变量不会被分配存空间;类变量被分配相应的存空间。

不同对象的实例变量被分配不同的存空间;不同对象的类变量被分配相同的存空间。

任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。

一个对象的实例变量发生改变,不影响其他对象的相应实例变量。

例: 执行语句: A1.x=10; A1.y=20;

这时A2.x 的值也是10;而A2.y 的值保持原来的初值。

⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。

例: class A

{

int x;

static int y;

static void func()

{

b=10; //合法

a=20; //非法

}

}

类变量可以通过类名访问;实例变量不能通过类名访问。

例: class A

{

int x;

static int y;

}

class B

{

public void func();

{

A.x=10; //非法

A.y=20; //合法

}

}

7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?

答:①子类和父类在同一个包中时,子类可以继承父类的除private 属性的所有方法和成员变量,当子类与

父类不在同一个包中时,子类只能继承父类的protected 和public 属性的成员变量和方法。

②子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐藏

从父类继承来的方法(方法的重写)。

③在子类中允许有一个方法和父类的方法名字相同而类型不同。

8. 父类的fina l 方法可以被子类重写吗?

答: 父类的final 方法不能被子类重写。

9. 什么类中可以有abstrac t 方法?

答: abstract 类中可以有abstract 方法。

10.什么叫对象的上转型对象?

答: B 类是A 类的子类或间接子类,当用子类B 创建一个对象b 并把这个对象的引用放到A 类的对象a 中时,

称A 类对象a 是子类对象b 的上转型对象。

11.什么叫接口的回调?

答: 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。

12.下列程序有什么错误?

public class Takecare

{

int a=90;

static float b=10.98f;

public static void main(Strin g args[])

{

float c=a+b;

System.ou t.println("c="+c);

}

}

答: 语句float c=a+b;错误。原因是类方法main 操作了实例变量a。

13. 请写出下列程序的输出结果。

class A

{

public int f(int x)

{

return x+1;

}

}

class B extends A

{

public int f(int x)

{

return x*x;

}

}

public class E

{

public static void main(Strin g args[]) {

A a=new B();

int m=a.f(10);

System.ou t.println(m);

}

}

答: 100

14. 请写出下列程序的输出结果。

class A

{

int x;

public void setX(int x)

{

this.x=x;

}

int getX()

{

return x;

}

}

class B

{

public void f(A a)

{

a.setX(100 );

}

}

public class E

{

public static void main(Strin g args[])

{

A a=new A();

a.setX(8);

System.ou t.println(a.getX());

B b=new B();

b.f(a);

System.ou t.println(a.getX());

}

}

答: 8

100

15.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。

答:①一个类使用接口时,要有implements 关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;

使用接口的类除abstract 类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回

类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public 修饰,如

果接口方法的返回类型不是void 型,在类中实现接口时,方法体至少有一个return 语句。

② interface 表面积

{

double allArea(double r);

}

interface 体积

{

double volu(double r);

}

class Sph implements 表面积,体积

{

double PI=3.14159;

public double allArea(double r)

{

return 4*PI*r*r;

}

public double volu(double r)

{

return 4.0/3*PI*r*r*r;

}

}

public class Test

{

public static void main(String args[])

{

double r=5.0;

Sph a=new Sph();

System.out.println("半径为5 的球的表面积是:"+a.allArea(r));

System.out.println("半径为5 的球的体积是:"+a.volu(r));

}

}

16.编写一个类A,该类创建的对象可以调用方法f 输出英文字母表,然后再编写一个该类的子类B,要求子类B 必须继承A 类的方法f(不允许重写),子类创建的对象不仅可以调用方法f 输出英文字母表,而且调用子类新增的方法g 输出希腊字母表。

答: class A

{

int m;

void f()

{

for(m=65;m<91;m++)

System.out.print((char)m+" ");

for(m=97;m<123;m++)

System.out.print((char)m+" ");

System.out.println(" ");

}

}

class B extends A

{

int i;

void g()

{

for(i=913;i<930;i++)

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

for(i=931;i<938;i++)

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

for(i=945;i<962;i++)

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

for(i=963;i<970;i++)

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

System.out.println(" ");

}

}

public class Test

{

public static void main(String args[])

{

B b=new B();

System.out.println("我调用方法f 输出英文字母表:");

b.f();

System.out.println("我调用方法g 输出希腊字母表:");

b.g();

}

}

17.编写一个异常类MyException,再编写一个类Studen t,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m 的值大于100 0 时,方法抛出一个MyExceptio n 对象。最后编写主类,在主类的mai n 方法中用Studen t 创建一个对象,让该对象调用spea k 方法。

答: class MyException extends Exception

{

String str1;

MyException(int m)

{

str1=m+"出现错误可能造成的原因是取值大于1000";

}

public void showStr1()

{

System.out.println(str1);

}

}

class Student

{

public void speak(int m) throws MyException

{

if(m>1000)

{

MyException exception=new MyException(m);

throw exception;

}

System.out.println(m);

}

}

public class Test

{

public static void main(String agrs[])

{

int m;

Student stu1=new Student();

m=987;

try

{

stu1.speak(m);

m=1234;

stu1.speak(m);

}

catch(MyException e)

{

e.showStr1();

}

}

}

18.编写一个类,该类有一个方法public int f(int a,int b),该方法返回a 和b 的最大公约数。然后再编写一个该类的子类,要求子类重写方法f,而且重写的方法将返回a 和b 的最小公倍数。要求在重写

的方法的方法体中首先调用被隐藏的方法返回a 和b 的最大公约数m,然后将乘积(a*b)/ m 返回。要求在应用程序的主类中分别使用父类和子类创建对象,并分别调用方法f 计算两个正整数的最大公约数

和最小公倍数。

答: class A

{

public int f(int a,int b)

{

if(a

{

int temp=0;

temp=a;

a=b;

b=temp;

int r=a%b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

return b;

}

}

class B extends A

{

public int f(int a,int b)

{

int m;

m=super.f(a,b);

return (a*b)/m;

}

}

public class Test

{

public static void main(String args[])

{

A a=new A();

System.out.println("18 和102 的最大公约数是:"+a.f(18,102));

B b=new B();

System.out.println("18 和102 的最小公倍数是:"+b.f(18,102));

}

}

第5 章字符串

1. 使用Strin g 类的public String toUpperCase ()方法可以将一个字符串中的小写字母变成大写字母,使用public String toLowerCase ()方法可以将一个字符串中的大写字母变成小写字母。编写一个程

序,使用这两个方法实现大小写的转换。

答: class Test

{

public static void main(String args[])

String str="I can use Java";

System.out.println("要转换的字符串是:"+str);

String s=str.toUpperCase();

System.out.println("转换成大写字符串是:"+s);

s=str.toLowerCase();

System.out.println("转换成小写字符串是:"+s);

}

}

2. 使用Strin g类的public String concat(Stri ng str)方法可以把调用该方法的字符串与参数指定的字

符串连接,把st r 指定的串连接到当前串的尾部获得一个新的串。编写一个程序通过连接两个串得到一个新串,并输出这个新串。

答: class Test

{

public static void main(String args[])

{

String str1="I can u";

String str2="se Java";

String s=str1.concat(str2);

System.out.println("将字符串"+str1+"与字符串"+str2+"连接后得到的新字符串是:");

System.out.println(s);

}

}

3. Strin g 类的public char charAt(int index)方法可以得到当前字符串inde x 位置上的一个字符。说

出下列程序的输出结果。

public class E3

{

public static void main(Strin g args[])

{

String s="中国科学技术大学";

char a=s.charAt( 2),b=s.charAt(6);

System.ou t.print(a);

System.ou t.println(b);

}

}

答: 科大

4. 使用java.uti l 包中的Array s 类的静态方法public static void sort(double a[])可以把参数a 指

定的doubl e 型数组按升序排序,使用java.uti l 包中的Array s 类的静态方法public static void sort(doubl e a[],int start,int end)可以把参数a 指定的doubl e 型数组中从位置star t 到end- 1 位

置的数按升序排序。写出下列程序的输出结果。

import java.util. *;

public class E4

{

public static void main(Strin g args[])

{

int a[]={23,67, 89,90,-987};

double b[]={12.89 ,90.87,34,678.987,-98. 78,0.89};

Arrays.sor t(a);

Arrays.sor t(b,1,4);

for(int i=0;i<=4;i+ +)

{

System.ou t.print(a[i]+",");

}

for(int i=0;i

{

System.ou t.print(b[i]+",");

}

}

}

答: -987,23,67,89,90,12.89,34.0,90.87,678.987,-98.78,0.89,

5. 使用https://www.doczj.com/doc/4c2997708.html,n g 包中Syste m 类的静态方法arraycop y 可以实现数组的快速复制,上机实习下列程序,

并总结出arraycop y 方法参数的使用规则。

public class ArrayCopy

{

public static void main(Strin g args[])

{

char a1[]={'a',' b','c','d','e','f'},b 1[]={'1','2','3','4',' 5','6'};

System.arr aycopy(a1,0,b1,1,a1.le ngth-1);

System.ou t.println(new String(a1)) ;

System.ou t.println(new String(b1)) ;

byte a2[]={97,98 ,99,100,101,102},b2[] ={65,67,68,69,70,71};

System.arr aycopy(b2,0,a2,3,b2.le ngth-3);

System.ou t.println(new String(a2)) ;

System.ou t.println(new String(b2)) ;

}

}

答:①运行结果:abcdef

1abcde

abcACD

ACDEFG

②arraycopy 的方法是public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)。其中五个参数分别表示:

src - 被复制的数组

srcPos - 从第几个元素开始复制

dest - 要复制到的数组

destPos - 从第几个元素开始粘贴

length - 一共需要复制的元素个数

第6 章时间、日期和数字

1. 用Dat a 类不带参数的构造方法创建日期,要求日期的输出格式是:星期小时分秒。

答: import java.util.*;

import java.text.*;

class Test

{

public static void main(String args[])

{

Date 时间=new Date();

SimpleDateFormat s=new SimpleDateFormat("E HH 时mm 分ss 秒");

System.out.println(s.format(时间));

}

}

2. 输出200 6 年2 月的日历页,程序需处理闰年问题。

答: import java.util.*;

class Test

{

public static void main(String args[])

{

int year=2006,month=2;

int allDay;

Java2实用教程(第5版)习题解答(活动za)

习题解答 习题(第章) 一、问答题 . .需个步骤: 1)用文本编辑器编写源文件。 2)使用编译源文件,得到字节码文件。 3)使用解释器运行程序。 .源文件由若干个类所构成。对于应用程序,必须有一个类含有( [])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个类。 .:\\\\;.; .和 . .独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题 .。.。 三、阅读程序 .()。()两个字节码,分别是和。()得到“”,得到“: ”,得到“您好,很高兴认识您”习题(第章) 一、问答题 .用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。不是标识符。.关键字就是语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。和不是关键字。个关键字:。 .,,,,,,,。 .常量必须用或为后缀。常量用或为后缀,但允许省略后缀。 .一维数组名。二维数组名。 二、选择题 .。.。.。.。.【代码】【代码】【代码】【代码】。.。 三、阅读或调试程序 .属于操作题,解答略。

.属于操作题,解答略。.属于操作题,解答略。.【代码】:。【代码】:[]。.【代码】:。【代码】:四、编写程序 . { ( []) { (()'你'); (()'我'); (()'他'); } } . { ( [ ]) { 'α''ω'; ( <) (" "); } } 习题(第章) 一、问答题 . .不可以 . . 不是必须的 .结束语句的执行 .可以 二、选择题 .。.。.。 三、阅读程序 .你,苹,甜 .好好 . 四、编程序题 .{

编译原理(清华大学第2版)课后习题答案

第三章 N=>D=> {0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD L={a |a(0|1|3..|9)n且 n>=1} (0|1|3..|9)n且 n>=1 {ab,} a n b n n>=1 第6题. (1) <表达式> => <项> => <因子> => i (2) <表达式> => <项> => <因子> => (<表达式>) => (<项>) => (<因子>)=>(i) (3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i (4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项> => <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>) => i+(<因子>+<因子>) => i+(i+i) (6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i 第7题

第9题 语法树 s s s* s s+a a a 推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F 语法树: E +T * 短语: T*F E+T*F 直接短语: T*F 句柄: T*F 12.

短语: 直接短语: 句柄: 13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABS S → Aa S →ε A → a B → b (3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa, 直接短语: a1 , b1 , b2, a2 , , 句柄:a1 14 (1) S → AB A → aAb | ε B → aBb | ε (2) S → 1S0 S → A A → 0A1 |ε 第四章 1. 1. 构造下列正规式相应的DFA (1)1(0|1)*101 NFA (2) 1(1010*|1(010)*1)*0 NFA

Java2实用教程试题

课程代码:座位号: 新疆大学期末考试 《Java2实用教程》试卷 姓名:王多强 学号:20102006014专业:机械工程及自动化 第一部分选择题(共12分) 一、单项选择题(本大题共4小题,每题只有一个正确答案,答对一题得3分,共12分) 1、下面的代码段中,执行之后i 和j 的值是什么?【C 】 inti=1; intj; j=i++; A 、1,1 B 、1,2 C 、2,1 D 、2,2 2、已知如下的命令执行javaMyTestabc 【C 】 请问哪个语句是正确的? A 、args[0]="MyTestabc" B 、args[0]="MyTest" C 、args[0]="a"

D、args[2]='b' 3、以下哪个方法用于定义线程的执行体?【B】 A、start() B、init() C、run() D、main() 4、下面哪个函数是publicvoidexample(){...}的重载函数【A】 A、publicvoidexample(intm){...} B、publicintexample1(){...} C、publicvoidexample2(){...} D、以上都不对 第二部分非选择题(共88分) 二、名词解释(本大题3小题,每题4分,共12分。) 1、方法重载 答:方法重载就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。 2、构造方法 答:在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门方法即构造方法,它是一种特殊的成员方法。 3、多态 答:多态就是一个方法名可以通过不同参数(参数名,参数个数)来重复使用,表示不同的意思,即一个名字多种功能用法,分为通用的多态和特定的多态两种。

Java2实用教程(第5版)最新答案-耿祥义

Java2(第5版)最新答案耿祥义 第1章 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 第2章 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序

Java2实用教程(第5版)习题解答

习题解答 习题1(第1 章) 一、问答题 1. James Gosling 2.需 3 个步骤: 1)用文本编辑器编写源文件。 2)使用 javac 编译源文件 ,得到字节码文件。 3)使用解释器运行程序。 3 .源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args[]) 的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个 public 类。 4. set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java 和 class 6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。 2. D。 三、阅读程序 1. ( a) Person.java。 ( b)两个字节码,分别是 Person.class 和 Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you” 习题2(第2 章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。 false 不是标识符。 2.关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。 true 和 false 不是关键字。 6 个关键字: class implements interface enum extends abstract。 3. boolean, char, byte, short, int, long, float, double。 4. float 常量必须用 F 或 f 为后缀。 double 常量用 D 或 d 为后缀,但允许省略后缀。 5.—维数组名.length。二维数组名.length。 二、选择题 1.C。 2. ADF 。 3. B。 4. BE。 5.【代码2】【代码3】【代码4】【代码5】。 6. B。

全新版大学英语综合教程2[第二版]课后答案解析

Unit1 Ways of Learning Vocabulary I 1. 1)insert 2)on occasion 3)investigate 4)In retrospect 5)initial 6)phenomena 7)attached 8)make up for 9)is awaiting 10)not; in the least 11)promote 12)emerged 2. 1) a striking contrast between the standards of living in the north of the country and the south. 2)is said to be superior to synthetic fiber. 3)as a financial center has evolved slowly. 4)is not relevant to whether he is a good lawyer. 5)by a little-known sixteen-century Italian poet have found their way into some English magazines. 3. 1)be picked up; can’t accomplish; am exaggerating 2)somewhat; the performance; have neglected; they apply to 3)assist; On the other hand; are valid; a superior II 1. 1)continual 2)continuous 3)continual 4)continuous 2. 1)principal 2)principal 3)principle 4)principles 5)principal III 1.themselves 2.himself/herself 3.herself/by herself/on her own 4.itself 5.ourselves 6.yourself/by yourself/on your own Comprehensive Exercises I.cloze 1.

java2实用教程第4版_习题解答

习题解答 习题一(第1章) 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 习题二(第2章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。

java2实用教程试题

第1章Java 语言入门 1-1开发与运行Java程序需要经过哪些主要步骤和过程? 1-2怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗? 1-3Java程序是有什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的? 1-4在运行小应用程序的html文件中可以使用codebase属性制定小应用程序的字节码所驻留的目录。如果不使用codebase属性,小应用程序的字节码文件必须和运行它的html在同一目录中,编写一个小应用程序并将它的字节码存放在某个目录中,比如c:\Boy. 把运行该小应用程序的html文件(注意其中的codebase属性): < applet code=你的小程序的字节码wdith=20 height=30 codebase=c:\boy> 存放在另一个目录中(查阅有关编写网页方面的书籍,会有更 详细的关于怎样在一个网页中嵌入一个小应用程序的讲解)。 第2章标识符、关键字和数据类型 2-1上机运行下列程序,注意观察输出的结果。

public class E { public static void main ( string args [ ] ) { for (int i=20302; i<=20302; i++) { System.out. println (( char ) i ); } } 2-2System.out. println (“你好”);可输出字符串值,也可以使用System.out. println()输出变量或表达式的值,只需使用并置 符号:“+”将变量、表达式或一个常数值与一个字符串并置即 可,如System.out. println(“”+x);System.out. println(“:” +123+“大于”+122)等。上机调试下列程序,注意观察结果,特别注意System.out. print()和System.out. println()的区 别。 public class OutputData { public static void main ( string args [ ] ) { int x=234, y=432 ; System.out. println (“:” +x+“<”+2*x); System.out. print (“我输出结果后不回车“); System.out. println (“我输出结果后自动回车到下一行”); } }

《电工基础》第二版课后习题及答案

《电工基础》第二版课后习题及答案 一、填空题 1、自然界中只有正电荷、负电荷两种电荷。电荷间存在相互作用力,同 种电荷互相排斥,异种电荷互相吸引。 2、电场强度是矢量,它既有大小,又有方向。 3、规定正电荷定向运动的方向为电流方向。金属导体中自由电子的定向运 动方向与电流方向是相反的。 4、通过一个电阻的电流是5A,经过3min,通过这个电阻的横截面的电荷 量是1200C。 5、若3min内通过导体横截面的电荷量是,则导体中的电流是。 6、432mA=;125μA=;=1250mA;=50μA。 7、. 8、=6800V;950mV=;=5600mV=。 9、电路中A、B两点的电位分别为V A、V B,则A、B两点的电压为U AB=VA- VB。 10、已知电路中A、B两点的电压为U AB=18V,A点电位为0V,则B点电位 V B=-18V。 11、把其他形式能转换为电能的设备叫电源。 12、电路主要由电源、负载、连接导线、控制和保护装置四部分构成。 13、电源电动势E=,内阻RO=Ω,负载电阻R=4Ω,则电路中电流I=1A,路 端电压U=4V。 14、电流在某一段电路上所做的功,除了和这段电路两端的电压、电路中的 电流成正比,还和时间成正比。 15、电流在单位时间内所做的功叫做电功率。电源电动势所供给的功率,等 于负载电阻和电源内阻所消耗的功率和。 16、# 17、额定值为“220V,40W”的白炽灯,灯丝电阻为1210Ω。如果把他接到 110V电源上,他实际消耗的功率为10W(白炽灯热电阻值不变)。 18、当负载电阻可变时,负载获得最大功率的条件是R=RO,负载获得最大 功率为Pm=E2/4R。 19、有一台“220V,1000W”的电熨斗,接上220V的电源工作1小时,他将 消耗电能。

Java2实用教程试题综合

可选试题 判断题 ×1.Java是低级语言 √2.Java是面向对象的程序设计语言 ×3.Java是编译型的计算机语言 √5.Java源程序文件的后缀是.java ×10.一个Java源程序文件中可以有多个public类 √11.一个Java源程序中可以有多个类 ×12.一个Java Applet源程序的主类可以有多个父类 √13.Java应用程序的入口方法是main √14.Java应用程序(Application)的主类中一定要有主方法(main) √16.Java小程序(Applet)的主类的父类必须是类Applet ×17.Java语言中的逻辑变量可以和整型变量相互强制转换 ×18.在程序中可对用final修饰的变量的值进行更改 ×27.双精度数强制转换成单精度数后,其数值精度提高 ×11.方法可以有多个返回值 ×5.重载的方法可以通过它们的返回值类型的不同来区分 √16.定义在方法体中的变量能与定义在方法体外的变量同名 √6.一个对象一定要属于某个类 ×7.构造函数的方法名可由编程人员任意命名 √8.类的构造函数名必须和类名相同 √10.构造函数可以重载 ×11.如果一个类定义中没有定义构造函数,该类就没有构造函数 √12.如果一个类定义中已经定义了构造函数,java不会再给它提供默认的构造函数 ×11.静态属性和静态方法属于类的一个具体对象 √12.static 变量能是private 变量 ×14.static方法能处理非static成员 √15.非static方法能处理static成员 ×16.static方法中能有this引用 ×18.类的私有属性和私有方法能被其子类直接访问 √12.子类的成员变量能与其父类的成员变量同名 ×14.子类可以重新定义从父类继承来的同名方法,并且允许它们有不同类型的返回值 √15.接口支持多继承(extends) √15.一个接口能够继承(extends)多个接口 ×7.抽象类只能做为父类 ×8.可以定义抽象类的对象 √9.抽象方法能被继承 √10.抽象方法只能存在于抽象类或接口中

第二版教材英语课后答案

Unit 1 The Roots of Chemistry I. Comprehension. 1.C 2. B 3. D 4. C 5. B II. Make a sentence out of each item by rearranging the words in brackets. 1. The purification of an organic compound is usually a matter of considerable difficulty, and it is necessary to employ various methods for this purpose. 2. Science is an ever-increasing body of accumulated and systematized knowledge and is also an activity by which knowledge is generated. 3. Life, after all, is only chemistry, in fact, a small example of chemistry observed on a single mundane planet. 4. People are made of molecules; some of the molecules in people are rather simple whereas others are highly complex. 5. Chemistry is ever present in our lives from birth to death because without chemistry there is neither life nor death. 6. Mathematics appears to be almost as humankind and also permeates all aspects of human life, although many of us are not fully aware of this. III. Translation. 1. (a) chemical process (b) natural science (c) the technique of distillation 2. It is the atoms that make up iron, water, oxygen and the like/and so on/and so forth/and otherwise. 3. Chemistry has a very long history, in fact, human activity in chemistry goes back to prerecorded times/predating recorded times. 4. According to/From the evaporation of water, people know/realized that liquids can turn/be/change into gases under certain conditions/circumstance/environment. 5. You must know the properties of the material before you use it. IV . Translation 化学是三种基础自然科学之一,另外两种是物理和生物。自从宇宙大爆炸以来,化学过程持续进行,甚至地球上生命的出现可能也是化学过程的结果。人们也许认为生命是三步进化的最终结果,第一步非常快,其余两步相当慢。这三步是:(I )物理进化(化学元素的产生),(II )化学进化(分子和生物分子的形成);和(III )生物进化(有机物的形成和发展)。 V . Solution: (1)The relative mass of 1H and 12C atoms can be calculated from their absolute masses in grams. 1 24 12 23 H 1.6735100.083986C 1.992610--?==?

java2实用教程(第3版例子代码)

Java 2实用教程(第三版) 清华大学出版社 (编著耿祥义张跃平) 例子源代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图)

第一章Java 语言入门例子1 public class Hello { public static void main (String args[ ]) { System.out.println("你好,很高兴学习Java"); } } 例子2 public class People { int height; String ear; void speak(String s) { System.out.println(s); } } class A { public static void main(String args[]) { People zhubajie; zhubajie=new People(); zhubajie.height=170; zhubajie.ear="两只大耳朵"; System.out.println("身高:"+zhubajie.height); System.out.println(zhubajie.ear); zhubajie.speak("师傅,咱们别去西天了,改去月宫吧"); } } 例子3 import java.applet.*; import java.awt.*; public class Boy extends Applet { public void paint(Graphics g) { g.setColor(Color.red); g.drawString("我一边喝着咖啡,一边学Java呢",5,30); g.setColor(Color.blue);

《java2实用教程》(第四版)课后答案 第七章-第八章

Java程序设计第三次作业 第7章习题 4.1程序代码 import java.util.*; public class SUMANDAVERAGE { public static void main(String[] args) { Scanner reader=new Scanner(System.in); double sum=0; int m=0; while(reader.hasNextDouble()){ double x=reader.nextDouble(); assert x>=0&&x<=100:"该数是非法的成绩数据!"; m=m+1; sum=sum+x; } System.out.printf("%d个数的和为%f\n", m,sum); System.out.printf("%d个数的平均值为%f\n",m,sum/m); } } 4.2运行结果 第8章习题 4.1程序代码 package kehou; import java.util.Calendar; import java.util.InputMismatchException; import java.util.Scanner; public class BC8_4 { public static void main(String[] args) { System.out.print("请选择你要完成的功能:\n1,转换字母大小写及连接两个字符串。\n2,得到字符串第一个和最后一个字符。\n3,计算两个时间之间的间隔天数。\n" + "4,使用简单的Math类用法。\n5,剔除字符串中的非数字字符。\n6,解析字符串。\n."); System.out.print("输入数字i(i=1...6;输入0结束!):"); Scanner reader=new Scanner(System.in);

数控技术第二版课后答案完整版

数控技术第二版课后答 案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

数控技术第二版章节练习答案 第一章绪论 数控机床是由哪几部分组成,它的工作流程是什么? 答:数控机床由输入装置、CNC装置、伺服系统和机床的机械部件构成。 数控加工程序的编制-输入-译码-刀具补偿-插补-位置控制和机床加工 数控机床的组成及各部分基本功能 答:组成:由输入输出设备、数控装置、伺服系统、测量反馈装置和机床本体组成 输入输出设备:实现程序编制、程序和数据的输入以及显示、存储和打印 数控装置:接受来自输入设备的程序和数据,并按输入信息的要求完成数值计算、逻辑判断和输入输出控制等功能。 伺服系统:接受数控装置的指令,驱动机床执行机构运动的驱动部件。 测量反馈装置:检测速度和位移,并将信息反馈给数控装置,构成闭环控制系统。 机床本体:用于完成各种切削加工的机械部分。 .什么是点位控制、直线控制、轮廓控制数控机床三者如何区别 答:(1)点位控制数控机床特点:只与运动速度有关,而与运动轨迹无关。如:数控钻床、数控镗床和数控冲床等。 (2)直线控制数控机床特点:a.既要控制点与点之间的准确定位,又要控制两相关点之间的位移速度和路线。b.通常具有刀具半径补偿和长度补偿功能,以及主轴转速控制功能。 如:简易数控车床和简易数控铣床等。 (3)连续控制数控机床(轮廓控制数控机床):对刀具相对工件的位置,刀具的进给速度以及它的运动轨迹严加控制的系统。具有点位控制系统的全部功能,适用于连续轮廓、曲面加工。 .数控机床有哪些特点? 答:a.加工零件的适用性强,灵活性好;b.加工精度高,产品质量稳定;c.柔性好;d.自动化程度高,生产率高;e.减少工人劳动强度;f.生产管理水平提高。 适用范围:零件复杂、产品变化频繁、批量小、加工复杂等 .按伺服系统的控制原理分类,分为哪几类数控机床各有何特点 答:(1)开环控制的数控机床; 其特点:a.驱动元件为步进电机;b.采用脉冲插补法:逐点比较法、数字积分法;c.通常采用降速齿轮;d. 价格低廉,精度及稳定性差。 (2)闭环控制系统; 其特点:a. 反馈信号取自于机床的最终运动部件(机床工作台);b. 主要检测机床工作台的位移量;c. 精度高,稳定性难以控制,价格高。 (3)半闭环控制系统: 其特点:a. 反馈信号取自于传动链的旋转部位;b. 检测电动机轴上的角位移;c. 精度及稳定性较高,价格适中。应用最普及。

Java2实用教程(第三版)课后习题参考答案

第4章类、对象和接口 1. 类中的实例变量在什么时候会被分配内存空间? 答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗? 答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 ②构造方法可以重载。 3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可 以操作实例变量吗? 答:①类中的实例方法可以操作类变量。 ②类方法不可以操作实例变量 4. 类中的实例方法可以用类名直接调用吗? 答: 类中的实例方法不可以用类名直接调用。 5. 举例说明protected方法和友好方法的区别。 答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。 6. 举例说明类变量和实例变量的区别。 答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。例: class A { int x; //实例变量 static int y; //类变量 } ⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。 例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 ⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class A { int x; static int y; static void func() {

操作系统(第二版)课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明: (1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1)cpu有空闲等待,在100ms~150ms的时候. (2)程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

Java2实用教程课后复习题参考答案

Java2 实用教程(第三版) 课后习题参考答案 第1 章Java 入门 1. 开发与运行Jav a 程序需要经过哪些主要步骤和过程? 答:( 1)编写Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java (2)编译Java 源文件:使用Java 编译器(javac.exe)。得到字节码文件*.class (3)运行Java 程序:Java 应用程序使用Java 解释器(java.exe)执行字节码文件; Java 小应用程序使用支持Java 标准的浏览器来执行。 2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public 修饰吗? 答:①应用程序必须有main 方法,这个方法是程序执行的入口。 小应用程序没有main 方法。 ②应用程序的主类不一定用public 修饰;小应用程序的主类必须用public 修饰。 3. Jav a 程序是由什么组成的?一个程序中必须要有public 类吗?Jav a 源文件的命名规则是怎样的?答:①Java 程序由类组成。 ②应用程序可以没有public 类;小应用程序一定有一个类是public 类(主类)。 ③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个类时,如果有public 类(最多一个),源文件名与public 类的类 名相同,拓展名是.java;没有public 类,源文件名与任何一个类的类名 相同即可,拓展名为.java。 小应用程序:源文件名与主类的类名相同,拓展名是.java。 4. 在运行小程序的HTM L 文件中可以使用codebas e 属性指定小程序的字节码所驻留的目录。如果不使用 codebas e 属性,小程序的字节码文件必须和运行它的HTM L 文件在同一目录中。编写一个小程序并将小程 序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTM L 文件(注意其中的codebas e 属性): 存放在另一个目录中。 答:以书中小应用程序为例进行说明: ①编写Java 小应用程序源代码 import java.applet.*; import java.awt.*; public class Boy extends Applet {

有机化学(第二版)_ 课后答案

第二章 烷烃作业参考答案 1、 共有九种: CH 3-CH 2-CH 2-CH 2-CH 2-CH 2-CH 3 CH 3-CH-CH 2-CH 2-CH 2-CH 3 2CH 3-CH 2-CH-CH 2-CH 2-CH 3 3CH 3-CH-CH-CH 2-CH 3 CH 3CH 3CH 3-CH-CH 2-CH-CH 3 3 CH 3 CH 3-C-CH 2-CH 2-CH 3 CH 3 CH 3 CH 3-CH 2-C-CH 2-CH 3 CH 3 CH 3-CH 2-CH-CH 2-CH 2 CH 2-CH 3 CH 3-C 3 CH 3CH-CH 3 CH 3 2、(1)3-甲基戊烷 (2)2,5-二甲基-3,4-二乙基己烷 (3)2,2,3,4-四甲基戊烷 (4)2-甲基-5-乙基庚烷 (5)2-甲基-3-环丁基丁烷 (6)顺-1-甲基-3-乙基环戊烷(7)反-1-甲基-4-乙基环己烷 (8)1-甲基-4-乙基-3-叔丁基环己烷 3、(1) (2) CH 3-CH-CH 2-CH 2-CH 3 3 CH 3-C-CH 2CH 3CH 3CH 3 (3) (4) CH 3-CH-CH-CH-CH-CH 3 CH 33CH 2CH 3 2CH 3 3)3 4、(1) (2) CH 3CH 2-C CH 3 CH-CH 3 CH 3 CH 3-C-CH-CH-CH 3CH 3CH 3 CH 3 CH 3-CH-C-CH 2-CH 3CH 3CH 3CH 3 CH 3-C-CH 2-CH-CH 3CH 3CH 3 CH 3 5、(1)错。改为:2,2-二甲基丁烷 (2)错。改为:2,2,5-三甲基-4-乙基己烷 (3)正确 (4)错。改为:2,2-二甲基丁烷

java2实用教程第4版-习题解答

习题解答 习题一(第 1 章) 一、问答题 1.James Gosling 2.需3 个步骤: 1) 用文本编辑器编写源文件。 2) 使用javac 编译源文件,得到字节码文件。 3) 使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[]) 方法,含 有该方法的类称为应用程序的主类。不一定,但最多有一个public 类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5. java 和class 6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1. B。 2. D。 三、阅读程序 1 . ( a) Person.java。 ( b)两个字节码,分别是Person.class 和Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you” 习题二(第 2 章) 一、问答题 1. 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是标识符。 2. 关键字就是Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3. boolean,char,byte,short,int,long,float,double。 4. float 常量必须用F 或f 为后缀。double 常量用D 或d 为后缀,但允许省略后缀。 5. —维数组名.length。二维数组名.length。 二、选择题 1. C。 2. ADF。 3. B。 4. BE。 5.【代码2】【代码3】【代码4】【代码5】。 6. B。

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