1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 《Java语言程序设计》(基础篇原书第10版)第七章复习题答案

《Java语言程序设计》(基础篇原书第10版)第七章复习题答案

时间:2021-08-16 00:22:56

相关推荐

《Java语言程序设计》(基础篇原书第10版)第七章复习题答案

第七章

7.1:声明数组引用变量的语法:

elementType[] arrayRefVar;(元素类型[]数组引用变量 ;)

创建数组:

arrayRefVar = new e1ementType[arrayS1ze]:

elementType[] arrayRefVar = new elementType[arraySize];

7.2:在创建数组时为数组分配内存。

7.3:输出结果为:

x is 60

The size of number is 30

7.4:

True

False

True

False

7.5:

int i = new int(30); 语句无效

double d[] = new double[30]: 语句有效

char[] r = new char(l…30): 语句无效

int 1[] = (3. 4, 3, 2); 语句无效

float f[] = {2.3, 4.S, 6.6}; 语句有效

char [] c = new char(); 语句无效

7.6:通过数组的下标访问数组元素

7.7:数组下标的类型为int 型,最小的下标为 0 ,a【2】表示数组名为a的第三个元素。

7.8:

a) double[] array = new double[10];

b) array[array.length - 1] = 5.5;

c) System.out.println(array[0] + array[1]);

d)

double sum = 0;

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

sum += array[i];

}

e)

double min = array[0];

for (int i = 1; i < array.length – 1; i++) {

if (min > array[i]) {

min = array[i];

}

}

f)

System.out.println(array[(int)(Math.random() * array.length)]);

g) double [] array = {3.5, 5.5, 4.52, 5.6};

7.9:会出现运行时异常。

7.10:

public class Test {

public static void main(String[] args) {

double [] r;

for (int I = 0; I < r.length; i++) {r[i] = Math.random() * 100;}}

}

7.11:输出结果为:

1 1 1 1 1 1

7.12:没有,会同一张不止一次被抽到。

7.13:System.arraycopy(source, 0, t, 0, source.length);

7.14:第二个赋值语句mylist = new int[20] 创建了一个新的数组,并将其引用分配给了mylist,所以mylist数组的大小改变了。

7.15:运行下列的代码,没有达到将数组内容进行反转的效果,因为同一对数交换了两次,也就是没有交换成功;修正结果:

int[] list = {1, 2, 3, 5, 4};

for (int I = 0, j = list.length – 1; I < list.length / 2; i++, j–) {

int temp = list[i];

list[i] = list[j];

list[j] = temp;

}

7.16:假的;当数组传递给方法时,数组的引用值将被传递。没有创建新的数组,实参和形参都指向同一个数组。

7.17:输出结果为:a) number is 0 and numbers[0] is 3

b) 1 2 3 4 5

7.19:方法只能指定一个可变长度参数,该参数必须是最后一个参数。方法返回类型不能是可变长度参数。

7.20:最后一个调用语句 printMax(new int[]{1, 2, 3});是不正确的,因为实参的类型与形参的数据类型不同,只能为double型才符合。

7.21:将(low + high) / 2 改为 (-low + high)/2 + low;

7.22:将10与列表中间值50比较,比它小,则将范围缩小到左半部分,再与左半部分的中间值10比较,可知10所在位置;同样的12也就可知在列表的位置。

7.23:二分法查找关键字的下标返回的是(-low - 1),即 -4 =(-low - 1);故该关键字插入的位置下标为3

7.25:修改结果如下:

for (int i = 0; i < list.length – 1; i++) {

double currentMax = list[i];

int currentMaxIndex = i;

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

if (currentMax < list[j]) {

currentMax = list[j];

currentMaxIndex = j;

}

}

}

7.26:使用 java.util.Arrays.sort方法可以对除了boolean 类型外的任何类型进行排序,因为该方法的返回值类型是void,所以调用这个sort方法不会创建一个新的数组。

7.27:调用 java.util.Arrays.binarySearch (array , key)数组必须按递增顺序排列。

7.28:输出结果为:

[7, 7, 7, 7]

[2, 4, 7, 10]

False

7.29:main方法可以被替换成下列的:

public static void main(String args[])

public static void main(String[] x)

public static void main(String x[])

7.30:输出结果为:

1)Number of strings is 4

I

have

a

dream

2)Number of string is 1

1 2 3

3) Number of string is 0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。