在接受采访时我被问到以下问题: 数组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数组,还可以添加两个数组吗?
请帮忙
答案 0 :(得分:1)
您只需使用以下内容初始化目标数组:
String[] s = new String[a.length];
如果您不这样做,当您尝试向该数组添加内容时,您将获得NullPointerException。
答案 1 :(得分:0)
您尚未初始化您的阵列。尝试做
String s[]= new String[a.length];