yahhh 发表于 2022-5-17 13:30:09

空指针异常错误

package test11;

public class Getn {
        public static void main(String[] args) {
                int arr1[]= {7,-1,8,-5,1,6};
                int arr2[] = null;
                int min,min2;
                for(int i=0;i<arr1.length;i++) {
                        if(arr1>0) {
                        for(int j=0;j<arr1.length;j++) {
                                        arr2=arr1;
                                }
                        }
                }
                if(arr2>arr2) {
                  min =arr2;
                  min2 = arr2;
                }
                else {
                        min = arr2;
                        min2 = arr2;
                }
                for(int i=2;i<arr2.length;i++){
                     if(arr2<min){
                         min2=min;
                         min=arr2;
                     }else if(arr2<min2){
                         min2=arr2;
                     }
        }
                for(int i=0;i<arr1.length;i++) {
                 if(arr1==min2) {
                         System.out.println(i);
                 }
                                 
             }
}
}

这个错在哪里

Twilight6 发表于 2022-5-17 13:35:39



arr2 数值你初始化为 null 了,导致报错

yahhh 发表于 2022-5-17 13:38:15

Twilight6 发表于 2022-5-17 13:35
arr2 数值你初始化为 null 了,导致报错

拿我这个数组怎么创建。因为这个数组还没确定大小内容

Twilight6 发表于 2022-5-17 13:42:06

yahhh 发表于 2022-5-17 13:38
拿我这个数组怎么创建。因为这个数组还没确定大小内容



那就用 ArrayList

yahhh 发表于 2022-5-17 13:46:35

Twilight6 发表于 2022-5-17 13:42
那就用 ArrayList

除了集合没办法吗

Twilight6 发表于 2022-5-17 13:49:30

yahhh 发表于 2022-5-17 13:46
除了集合没办法吗


你代码需求是什么 ?

yahhh 发表于 2022-5-17 13:53:15

给定一个int型数组,找出其中大于0的数字中倒数第二小的数字的下标,我就想用把这个数组大于0的数复制到另一个数组中

Twilight6 发表于 2022-5-17 14:04:20

yahhh 发表于 2022-5-17 13:53
给定一个int型数组,找出其中大于0的数字中倒数第二小的数字的下标,我就想用把这个数组大于0的数复制到另 ...



那应该只能 先过一遍 判断是否大于 0 来确定大于零元素个数,最后确定第二个数组长度

页: [1]
查看完整版本: 空指针异常错误