尚学堂java 参考答案 第七章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改
一.选择题
1.ACD
解析:B:java中左边不能直接直接指定长度,和C语言不一样
2.B
3.C
解析:B各行分开皆对,但放在一起会产生重复定义错误.D的第一个按定义来说应该是错的,但编译器并不报错,经过试验也可使用
4.B
解析:binarySearch(Object[], Object key)是二分查找函数,查找key值所在的位置,如果没有就返回-1,有就返回对应位置
5.ABD
解析:A同3的解析,C同1的解析
二.简答题
1.数组的特点:
1. 只能存储同一种数据类型的数据。
2. 一旦初始化,长度固定。
3. 数组中的元素与元素之间的内存地址是连续的。
2.
优点:
1、按照索引查询元素速度快
2、能存储大量数据
3、按照索引遍历数组方便
缺点:
1、根据内容查找元素速度慢
2、数组的大小一经确定不能改变。
3、数组只能存储一种类型的数据
4、增加、删除元素效率慢
5、未封装任何方法,所有操作都需要用户自己定义。
3.https://blog.csdn.net/tongxuexie/article/details/80494732
4.https://blog.csdn.net/qq_21122243/article/details/72960197
三.编码题
1.
import java.util.Scanner;
public class ch7_1 {
public static void main(String[] args) {
String str[] = {"one","two","three","four","five","six","seven","eight","nine","ten"};
Scanner input = new Scanner(System.in);
int count=0;
System.out.printf("请输入一个单词:");
String str1 = input.next();
for(String i : str){
count++;
if(i.equals(str1)){
System.out.println("YES");
break;
}
else if(count >= 10){
System.out.println("NO");
}
}
}
}
2.
import java.util.Scanner;
public class ch7_2 {
public static void main(String[] args) {
int [] num = new int[50];
int max=0,min=0,n,count=0;
Scanner input = new Scanner(System.in);
System.out.printf("请输入随机数的最大值n:");
n=input.nextInt();
for(int i=0 ;i < 50 ;i++){
num[i] = (int)(n*Math.random());
}
max = min = num[0];
for(int i :num){
System.out.printf("%d\t",i);
if(i >= max)
max = i;
if(i <= min)
min = i;
if(i >= 60)
count++;
}
System.out.printf("\n最大值为MAX:%d\t最小值为MIN:%d\n",max,min);
System.out.printf("大于或等于60的数有%d个",count);
}
}
3.
public class ch7_3 {
public static void main(String[] args) {
int [] a = {1,2,3,4,5,6,7,8,9,10};
System.out.print("原序列:");
for(int i : a){
System.out.printf("\t%d",i);
}
for(int i = 0 ; i < (int)a.length/2 ; i++){
int temp = a[i];
a[i] = a[a.length-i-1];
a[a.length-i-1] =temp;
}
System.out.print("\n新序列:");
for(int i : a){
System.out.printf("\t%d",i);
}
}
}