面试题首页 > 数组面试题

数组面试题

001打印数组

创建一个长度为6的整数数组,数组中有六个整数(直接赋值即可)。遍历数组中的每个元素,元素之间用空格隔开。比如: 

数组为:{1,2,3,4,5}
打印结果:1 2 3 4 5 
package com.bjpowernode.array;
/*创建一个长度为6的整数数组,数组中有六个整数(直接赋值即可)。遍历数组中的每个元素,元素之间用空格隔开。
  比如数组为:{1,2,3,4,5}
  打印结果:1 2 3 4 5*/
public class Test1 {
    public static void main(String[] args) {
        int [] arr={1,2,3,4,5};//定义整数类型数组
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

002打印数组最小值

现有一个小数数组{12.9,53.54,75.0,99.1,3.14}。请编写代码,找出数组中的最小值并打印。

操作步骤
定义小数类型数组并存入元素。
定义小数变量min代表最小值。
遍历数组,用每个元素依次和变量min对比。
如果元素小于min,则把元素赋值给min。
遍历结束之后打印最小值。

package com.bjpowernode.array;
/*
现有一个小数数组{12.9,53.54,75.0,99.1,3.14}。请编写代码,找出数组中的最小值并打印。
    ### 训练提示
    1. 数组的元素是小数,需要定义小数类型数组。
    2. 找最小值和找最大值的思路是一样的。*/
public class Test2 {
    public static void main(String[] args) {
        double[] arr={12.9,53.54,75.0,99.1,3.14};//定义一个double数组
        double min=arr[0];
        for(int i=1;i< arr.length;i++){
            if(min>arr[i]){
                min=arr[i];
            }
        }
        System.out.println("最小值是"+min);
    }
}

003已知二维数组A10×10中,元素a[2][0]的地址为560,每个元素占4个字节,则元素a[1][0]的地址为( )。

A. 520
B. 522
C. 524
D. 518
答案:A
解析:a[2][0]和a[1][0]相距10个元素,所以相差4*10=40个字节;

004将数据元素2,4,6,8, 10, 12, 14, 16, 18,20, 22依次存放于一个一维数组中,然后采用折半查找方法查找数组元素16,被比较过的数组元素的轨迹依次为( )。

A. 12,18,14,16
B. 12,14, 18,16
C. 6,9,7,8
D. 6,7,9,8
答案:A
解析:这个一维数组A的长度是11。
因此,第一个比较的元素是A[11/2]=A[5]=12;第二个比较的元素是A[(6+11)/2]=A[8]=18;第三个比较的元素是A[(6+7)/2]=A[6]=14;第四个比较的元素是A[(7+7)/2]=A[7]=16。

005若有说明:int a[3][4];则对 a 数组元素的非法引用是( )?

A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][2+2]
答案:D
解析:引用的时候是从0下标开始,不能越界。

目录

返回顶部