在arrayList的Java NullPointerException中添加每个列表元素
此程序用于添加两个列表的元素。 控制台输入采用以下形式:在arrayList的Java NullPointerException中添加每个列表元素,java,arraylist,nullpointerexception,Java,Arraylist,Nullpointerexception,此程序用于添加两个列表的元素。 控制台输入采用以下形式: "10, 20, 30" "20, 30, 40, 50, 60" 输出将是 [30, 50, 70 50, 60] 注意:-如果一个或两个列表可以为null或空,则输出应为[]或空列表。在某些测试用例中,我会得到一个null指针异常错误 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Source {
"10, 20, 30"
"20, 30, 40, 50, 60"
输出将是
[30, 50, 70 50, 60]
注意:-如果一个或两个列表可以为null或空,则输出应为[]
或空列表。在某些测试用例中,我会得到一个null指针异常错误
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Source {
public List<Integer> getSumOfListElements(List<Integer> first,List<Integer> second){
List<Integer> list3 = new ArrayList<Integer>();
if(second.isEmpty() || second==null){ //error Nullpointerexception is generated here
if(first.isEmpty() || first==null){
return list3;
}else{
return first;
}
}
else if(first.isEmpty() || second==null){ //error Nullpointerexception is generated here
return second;
}
int l1 = first.size();
int l2 = second.size();
if(l1>l2){
for(int i=0; i<l1; i++){
if(i<l2)
list3.add(first.get(i)+second.get(i));
else
list3.add(first.get(i));
}
}//else part if l2>l1
return list3;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
List<Integer> list1 = new ArrayList<Integer>();
String st1 = str1.replaceAll("^\"|\"$", "");
//same logic for list2 creation
if(!st1.isEmpty()){
String[] ss1=st1.split(", ");
for(int i=0;i<ss1.length;i++){
list1.add(Integer.parseInt(ss1[i]));
}
}
//same if function for list2
if(st1.isEmpty()){
System.out.println(list2);
}....
//same else if for list and for both
....
}else{
Source obj = new Source();
System.out.println("null object");
}
}
}
import java.util.ArrayList;
导入java.util.List;
导入java.util.Scanner;
公共类源{
公共列表GetSumofListents(第一个列表,第二个列表){
List list3=新的ArrayList();
如果(second.isEmpty()| | second==null){//error Nullpointerexception在这里生成
if(first.isEmpty()| | first==null){
返回列表3;
}否则{
先返回;
}
}
else如果(first.isEmpty()| | second==null){//error Nullpointerexception在这里生成
返回第二;
}
int l1=first.size();
int l2=第二个.size();
如果(l1>l2){
对于(int i=0;i而言,空检查必须首先始终是
如果(second.isEmpty()| | second==null){
//这是错误的
if(second==null | | second.isEmpty()){
//这将避免null指针异常
下一行有一个错误
else如果(first.isEmpty()| | second==null){//error Nullpointerexception在此处生成
正确的代码是
else if(first==null | | | first.isEmpty()){//error Nullpointerexception在此处生成
您好。您面临的错误是什么?