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

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

第3章习题解答

1. Java语言的注释有哪几种?分别给出一个例子。

答:Java语言的注释有3种,分别是单行注释、多行注释和文档注释。

单行注释的例子如下:

public static Point origin = new Point(0, 0); //类初始化时,创建一个原点实例多行注释的例子如下:

/* 类初始化时,创建一个原点实例 */

public static Point origin = new Point(0, 0);

文档注释的例子如下:

/**

*

* @类名:Point

* @类简介:坐标点类,可以初始化其坐标x和y。

* @编程人:林福平

* @编程日期:2012-8-9

* @修改日期:2012-8-10

*

*/

2. Java语言中分隔符有哪几种?空白符有哪些?

答:Java语言中的分隔符有空白符、注释和普通分隔符三种。Java语言中的空白符(White Space)包括空格(SP,space)、制表符(‘\t’,Tab键)、走纸换页(‘\f’)、回车(‘\r’)和换行(‘\n’)。

3. 简述标识符的用途。下列字符串中,哪些是标识符?

PIx2 -length a+b _bytes $long MIN_VALUE

答:Java语言中的标识符用于对类、方法、变量、类型、数组和文件等进行命名。

上述字符串中,以下这些是Java语言的标识符:

PIx2 _bytes $long MIN_VALUE

4. 下列字符串中,哪些是关键字?

true for int null $float _double

答:上述字符串中,以下这些是Java语言的关键字:

true for int null

5. Java语言的基本数据类型分为那几大类?

答:Java语言的基本数据类型分为数值类型(包括整数类型和浮点类型)、字符类型(char)和布尔类型(Boolean)。整数类型有byte、 short、 int和long。浮点类型有float和double。

6. 编写一个简单的Java程序,验证带有下划线(_)的常量是否符合语法,同时给出一个十六进制形式浮点数常量验证它是否符合语法。

答:根据《Java语言规范》(《The Java™ Language Specification Java SE 7 Edition》)一书的语法规定,常量中可以使用下划线(_),并且允许使用十六进制浮点数的。但是,实际使用中由于难以理解,通常情况下应该避免使用。

例子程序如下:

public class TestJava {

public static final double X123 = 0x1_2_3.0p+0;

public static void main(String[] args) {

System.out.println(X123);

}

}

该程序运行结果如下:

291.0

7. 阅读以下Java语言程序的片段,写出程序输出结果:

int i = 1928;

do{

System.out.println(i);

i = i / 10;

} while(i > 0);

程序运行结果如下:

1

3

9

27

81

8.阅读以下Java语言程序的片段,写出程序输出结果:

int i = 1928;

do{

System.out.println(i);

i = i / 10;

} while(i > 0);

程序运行结果如下:

1928

192

19

1

9.用Java语言编写程序,计算输入的两个整数的最大公约数(GCD)。采用经典的Euclid 算法,方法是:用变量m和n存储两个数的值,如果n为0,程序结束,m的值为最大公约数;否则计算m除以n的余数,把n保存到m中,并且把余数保存到n。重复这个过程,每次都先判定n是否为0。

答:编写程序如下(程序中,变量m和n的值是给定的,要使得程序具有通用性,可以将其改为运行时输入):

public class TestJava {

public static void main(String[] args) {

int m = 420;

int n = 98;

while(n != 0) {

int temp = m % n;

m = n;

n = temp;

}

System.out.println(m);

}

}

程序运行结果是14。

10.用Java语言编写程序,然后对用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。例如输入分子为6并且分母为12,那么输出结果为1/2。

答:对于输入的分子和分母,求出其最大公约数,用最大公约数来除这两个数就得到约

分的结果。程序设计如下:

public class TestJava {

public static void main(String[] args) {

Scanner numerator = new Scanner(System.in);

Scanner denominator = new Scanner(System.in);

int m = numerator.nextInt();

int n = denominator.nextInt();

while(n != 0) {

int temp = m % n;

m = n;

n = temp;

}

System.out.println(numerator.nextInt()/m +"/"+denominator.nextInt()/m);

}

}

在输入的分子和分母分别98和420的情况下,程序运行结果是7/30。

11.用Java语言编写程序,计算e=1+1/1! +2/2! +……+n/n!。要求e值精确到小数点第5位。

答:采用逼近法计算e,首先计算至第i项和第i+1项之和,比较它们的差值,满足精确到小数点第5位(差值<0.00001),即得到所求的e。

程序设计如下:

public class TestJava {

public static void main(String[] args) {

double ei;

double ei1 = 1;

i = 1;

double factorial = 1;

do {

ei = ei1;

factorial *= i;

ei1 += 1 / factorial;

i++;

} while(Math.abs(ei1-ei) > 0.00001);

System.out.println(ei1);

}

}

程序运行结果是2.7182815255731922。

相关文档
最新文档