尚学堂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);
        }

    }
}

 

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务