尝试添加两个字符串元素时获取Null指针异常

时间:2017-03-18 06:43:09

标签: java arrays string

在接受采访时我被问到以下问题: 数组a = {1,2,3,4,5},数组b = {a,b,c,d,e},写一个程序来添加两个数组的各个元素,并在第三个数组中输入和输出一样的{e1,d2,c3,b4,a5}

当时我无法提出解决方案,现在我正在家里尝试并编写以下代码,但得到空指针异常:

public class ArrayMergeIndividualElements {

String[] a = {"1","2","3","4","5"};
String b[] = {"a","b","c","d","e"};
String s[]=null;

void mergeArrays()
{
    int k=0;
    int j=b.length-1;           

    for(int i=0;i<a.length;i++)
    {
        for(;j>=0;)
        {
            System.out.println("Number array is "+a[i]);
            System.out.println("String array is "+b[j]);                
            s[k]=a[i]+b[j]; //getting null pointer exception at this line               
            k++;
            j--;
            break;
        }
    }

    System.out.println("output is :");
    for(int l=0;l<s.length;l++)
    {
        System.out.print(s[l]);
    }
}

public static void main(String[] args) {

    ArrayMergeIndividualElements amie = new ArrayMergeIndividualElements();
    amie.mergeArrays();
}
 }

我尝试通过在stackoverflow上搜索来代码,但没有运气     String [] both = Stream.concat(Arrays.stream(a [i]),Arrays.stream(b [j]))                       .toArray(字符串[] ::新);

单独的数组正在打印值,但是当我尝试添加/连接它们时,我得到空指针。

如果一个是Integer数组而另一个是String数组,还可以添加两个数组吗?

请帮忙

2 个答案:

答案 0 :(得分:1)

您只需使用以下内容初始化目标数组:
String[] s = new String[a.length];
如果您不这样做,当您尝试向该数组添加内容时,您将获得NullPointerException。

答案 1 :(得分:0)

您尚未初始化您的阵列。尝试做

String s[]= new String[a.length];