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

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

Java语言程序设计第2版(郑莉)

第二章习题答案

1.什么是对象、类,它们之间的联系?

答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!

3)两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?

答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

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

3(无用)

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

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

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

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

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

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;

6.类的访问控制符有哪几种?具体含义及其区别。

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

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

7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?

答:类成员的访问控制符有public,private,protecte及无修饰符.

public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限).

Private(保护的):类中限定为private的成员只能被这个类本身

访问,在类外不可见。

proteced(保护的)用该关键字修饰的成分是受保护的,只可以

被同一类及其子类的实例对象访问。

无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。

8简述构造方法的特点?

答:构造方法主要有以下特点:

(1)构造方法的方法名与类名相同;

(2)构造方法没有返回类型(修饰符void也不能有);

(3)构造方法通常被声明为公有的(public);

(4)构造方法可以有任意多个参数;

(5)构造方法的主要作用是完成对象的初始化工作;

(6)构造方法不能在程序中显式的调用;

(7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。

9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?

答:

用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。

10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean).

声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient 的例子:

Atient april=new Patient();

April.setname(“zhangli”)

April.setSex(‘f’);;

April.setage(330;

April.setweigeht(154.72);

April.setalolergies(true);

System.out.println(“那么:”+april.getname());

System.out.println(“sex: ”+april.getsex());

System.out.println(“age: ”+april.getage());

System.outprintln(“weught: ”+april.getweight());\

System.out.println(“allergies: ”+april.getallergies());

声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。答:

public class Patient

{

private String name;

private char sex;

private int age;

private float weight;

private boolean allergies;

public void setname(String a)

{

name=a;

}

public void setsex(char b)

{

sex=b;

}

public void setage(int c)

{

age=c;

}

public void setweight(float d)

{

weight=d;

}

public void setallergies(boolean e)

{

allergies=e;

}

public String getname(){return name;}

public char getsex(){return sex;}

public int getage(){return age;}

public float getweight(){return weight;}

public boolean getallergies(){return allergies;}

}

public class Text

{

public static void main(String args[])

{

Patient april=new Patient();

april.setname("ZhangLi");

april.setsex('f');

april.setage(33);

april.setweight(154.72f);

april.setallergies(true);

System.out.println("Name: "+april.getname());

System.out.println("sex: "+april.getsex());

System.out.println("age: "+april.getage());

System.out.println("weight: "+april.getweight());

System.out.println("allergies: "+april.getallergies());

}

}

11:声明并测试一个复数类,其方法包括toString()及复数的加、减、乘运算。答:public class Complex

{

private float a;

private float b;

public String toString()

{if(a!=0)

return(a+"i"+"+"+b);

else return(""+b);

}

public Complex(float a,float b)

{

this.a=a;

this.b=b;

}

public void Add(Complex p)

{

this.a+=p.a;

this.b+=p.b;

}

public void Decrease(Complex p)

{

this.a-=p.a;

this.b-=p.b;

}

public void Multiply(Complex p)

{

this.a=this.a*p.a;

this.b=this.b*p.b;

}

}

public class ComplexTexter

{

public static void main(String args[])

{

Complex a=new Complex(2,4);

Complex b=new Complex(5,8);

a.Add(b);System.out.println(a.toString()+"\n");

a.Decrease(b);System.out.println(a.toString()+"\n");

a.Multiply(b);System.out.println(a.toString()+"\n"); }

}

12:什么是UML?它由哪几部分组成?

答:

UML是图形化()即可视化的建模语言,成为面向对象建模的标准语言。

它由四部分组成:(1)视图(2)图(3)模型元素(4)通用机制

13. 常用的类与类之间的关系有哪几种。

答:有关联、依赖、流、泛化、实现、使用。

14. 考虑学院、系及教员应该具有哪些属性,并画出它们之间关系的类图。

第三章课后习

题答案

1.设N为自然数:

n!=1*2*3*….*n

称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。答:

public class Mul

{

public static void main(String args[])

{

int i,n;

float s;

for(n=0;n<=10;n=n+2)

{

if(n==0)

System.out.println("0!=1\n");

else

{s=1;

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

s=s*i;

System.out.println(n+"!="+s+"\n");

}

}

}

}

2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。

答:public class Math{

public static void main(String args[]){

int[] IntArg = new int[args.length];

for(int i=0;i

IntArg[i] = Integer.parseInt(args[i]);

}

int max,min;

max=IntArg[0]>IntArg[1]?IntArg[0]:IntArg[1];

max=max>IntArg[2]?max:IntArg[2];

min=IntArg[0]

min=min

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

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

}

}

3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。

答:

public class Su{

public static void main(String args[]){

int n,i,k=0,y;

for(n=2;n<=100;n++){

y=1;

for(i=2;i

if(n%i==0)

{y=0;break;}

if(y==1){

k++;

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

if(k%5==0)

System.out.print("\n");

}

}

}

}

4.使用https://www.360docs.net/doc/ea9280877.html,ng.Math类,生成100个0---99之间的随机整数,找出他们之中的最大值和最小值,并统计大于50的整数个数。

public class Random{

public static void main(String[] args)

{

int MinNum,MaxNum,n=0;

int[] array=new int[100];

array[0]=(int)(Math.random()*100);

MinNum=array[0];

MaxNum=array[0];

System.out.println("数列为:");

System.out.print(array[0]+" ");

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

{

array[i]=(int)(Math.random()*100);

if(array[i]>50)

n++;

if(array[i]>=MaxNum)

MaxNum=array[i];

if(array[i]<=MinNum)

MinNum=array[i];

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

}

System.out.println();

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

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

System.out.println("大于50的整数个数有:"+n);

}

}

5.接收用户从键盘上输入的两个整数,求两个数的最大公约数和最小公倍数,并输出。

public class Test2

{

public static void main(String[] args)

{

int[] I = new int[args.length];

for(int i=0;i

I[i] = Integer.parseInt(args[i]);

}

int m,n,temp,t;

if(I[0]

{

temp=I[0];

I[0]=I[1];

I[1]=temp;

}

m=I[0];

n=I[1];

t=m%n;

while(t!=0)

{

m=t;

n=m;

t=m%n;

}

System.out.println("两个数的最大公约数为:"+n);

System.out.println("两个数的最小公倍数为:"+I[0]*I[1]/n);

}

}

6.从键盘上输入一件物品的价格(范围在0.10~5.00元.),假设用户支付了一张5元纸币,请列出一种找零的方案,使得纸币及硬币的个数最少。如3.68元,应为两元一张、一元一张、五角一个、一角一个、五分一个、二分一个、一分一个。

//Price类

import java.io.*;

public class Price{

public static void main(String args[]){

System.out.println("enter a number(0.01----5.00):");

float a=Keyboard.getFloat();

int c=(int)(a*100);

int b=500-c;

System.out.println("找零如下:");

if(b/200!=0){System.out.println(b/200+"张2元

");b-=(b/200)*200;}

if(b/100!=0){System.out.println(b/100+"张1元

");b-=(b/100)*100;}

if(b/50!=0){System.out.println(b/50+"张5角

");b-=(b/50)*50;}

if(b/20!=0){System.out.println(b/20+"张2角");b-=(b/20)*20;} if(b/10!=0){System.out.println(b/10+"张1角");b-=(b/10)*10;} if(b/5!=0){System.out.println(b/5+"个5分");b-=(b/5)*5;}

if(b/2!=0){System.out.println(b/2+"个2分");b-=(b/2)*2;} if(b!=0)System.out.println(b+"个1分");

}

}

//Keyboard类

import java.io.*;

public class Keyboard{

static BufferedReader inputStream =new BufferedReader(new InputStreamReader(System.in));

public static int getInteger(){

try{

return(Integer.valueOf(inputStream.readLine().trim()).intV alue());

}catch(Exception e){

e.printStackTrace();

return 0;

}

}

public static String getString(){

try{

return(inputStream.readLine());

}catch(IOException e){

return"0";

}

}

public static float getFloat(){

String s="";

try{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

s=in.readLine();

return(Float.parseFloat(s));

}

catch(IOException e)

{

System.out.println("输入非法!");

return(0.0f);

}

}

}

运行结果:

7.什么是异常?解释抛出、捕获的含义。

答:异常又称为例外,是特殊的运行错误对象,在程序中可以强制编译器来处理程序运行中的发生的并非由程序本身所造成的错误;

抛出异常:把生成异常对象并提交的过程称为抛出异常;

抛出异常是java中一个程序处理动作,检查异常时要么在方法中声明一个异常抛出,用try-catch语句捕获异常,并进行处理。

8.简述Java的异常处理机制。

答:java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。

9.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?

答:系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。用户定义的是自己觉得可能会出现问题时,需要处理的。这样避免程序中断或是出现未知错误。

系统异常有两种一种是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。运行时异常编译可以通过,但是运行时才显露出来。

10.用户如何自定义异常?编程实现一个用户自定义异常。

(1)定义mytest

import java.io.*;

public class mytest{

private static int quotient(int number,int denominator)throws

DivideByZeroException{

if(denominator==0)

throw new DivideByZeroException();

return(number/denominator);

}

public static void main(String args[]){

int number1=0,number2=0, result=0;

try{

System.out.println("输入第一个数字:");

number1=Integer.valueOf(Keyboard.getString()).intValue();

System.out.println("输入第二个数字:");

number2=Integer.valueOf(Keyboard.getString()).intValue();

result=quotient(number1,number2);

}

catch(NumberFormatException e){

System.out.println(e.toString());

System.exit(-1);

}

System.out.println(number1+"/"+number2+"="+result);

}

}

(2)定义DivideByZeroException

public class DivideByZeroException extends ArithmeticException{

public DivideByZeroException(){

super("除数不能为0!");

}

}

(3)定义Keyboard

import java.io.*;

public class Keyboard{

static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in));

public static int getInteger(){

try{

return (Integer.valueOf(inputStream.readLine().trim()).intValue());

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,*;

04747java语言程序设计(一)20120年01月试卷

全国2012年1月高等教育自学考试 Java语言程序设计(一)试题 课程代码:04747 一、单项选择题(本大题共10小题,每小题1分,共l0分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下面供选字符序列中,不属于 ...Java语言关键字的是( ) A.inner B.throw C.false D.throws 2.表达式“-1>>>1”的十进制值是( ) A.-2 B.231-1 C.-(231-1) D.232-1 3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 4.表达式"java程序设计".1ength()的值是( ) A. 0 B.12 C. 8 D.13 5.以下关于BorderLayout布局的叙述中,不正确 ...的是( ) A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域 C.是框架窗口的默认布局 D.一个位置可直接放多个组件 6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( ) A.accept()和getSelectedFile() B.accept()和getDescription() C.accept()和setDescription() D.setDescription()和getDescription() 7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( ) A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect) C.rRect.draw() D.rRect.drawRoundRect() 8.以下关于线程互斥和同步的叙述中,正确的是( ) A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源 浙04747# Java语言程序设计(一)试卷第1页(共12页)

java课后答案

java课后答案 第一章 ,.发明java的原因是什么,发明java的主要贡献者是谁, 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗, 答:不正确,字节码是很接近机器码谢谢了的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法, 4. "java应用程序必须有一个类是public类".这句话正确吗, 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗, 不正确 "java applet源文件的主类必须是public类",这句话正确吗, 正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。(2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名 为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗, 8. 怎样编写加载运行java applet的简单网页,

编译原理(清华大学第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

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;

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

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

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

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

全新版大学英语综合教程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.

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章Java程序设计概述 1.9 练习思考题 1、Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

《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]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,

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{

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、自然界中只有正电荷、负电荷两种电荷。电荷间存在相互作用力,同 种电荷互相排斥,异种电荷互相吸引。 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小时,他将 消耗电能。

清华大学出版社 Java课后答案

第1章: 参考答案: 习题集: 一、填空题 1.多态 2.java.exe 3.jdb.exe 4.标准字节码 5.java 6.独立于平台 二、选择题 1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C 第2章: 参考答案: 实验指导: 2.5.1.第一处需要的代码:yourGuess>realNumber 第二处需要的代码:yourGuess=input.nextInt(); 第三处需要的代码:yourGuess

第二版教材英语课后答案

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--?==?

《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课后练习题答案

一、选择题 1、在创建某类的对象时应该(C ) A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能使用对象 C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D、以上述说法都对 2、以下说法中对Java中定义的父类与子类的关系描述正确是的(C ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、一个子类可以有一个父类,但一个父类可以有多个子类 D、上述说法都不对 3、给定如下Java 程序片断: class A { public A() { System.out.print ("Java"); }} class B extends A { public B() { System.out.print (" Welcome"); } public static void main(String[] args) { B b=new B(); } }上述程序将( B) A、不能通过编译 B、通过编译,输出为: Java Welcome C、通过编译,输出为: Welcome D、通过编译,输出为: Java 4、给定以下程序段,如下: int i=0,j=-1; switch(i) { case 0:j=1; case 2:j=2; default:j=5; } System.out.print("j="+j); 编译运行,正确的是(D) A、j=-1 B、j=1 C、j=2 D、j=5 5、下面关于Java构造函数的描述正确的是(D ) A、类必须有显式定义构造函数 B、它的返回类型是void C、它和类有相同的名称,但它不能带任何参数 D、以上描述都是错误的 6、在Java编程中,用来执行Java类文件的命令是(B ) A、javac B、java C、appletviewer D、以上都不对 7、如下程序片段,体现了Java的( B) 概念 public void aMethod(String s) {........} public void aMethod(int i) {........}

相关文档
最新文档