请问这个代码在哪组数出错了?应该怎样修改?

这是问题

 public static void main(String[] args) {
        // TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
String num1=input.nextLine();
String num2=input.nextLine();
String temp;
if(num1.length()<num2.length()) {   
    temp=num1;
    num1=num2;
    num2=temp;
}
char[] char1=num1.toCharArray();
char[] char2=num2.toCharArray();
int m=char1.length;
int n=char2.length;
int[] M=new int[m];
int[] N=new int[n];
int k1=1,k2=1;
for(int i=0;i<m;i++) {
    String temp2=char1[m-k1]+"";
    M[i]=Integer.parseInt(temp2);
    k1++;
}
for(int j=0;j<n;j++) {             
    String temp3=char2[n-k2]+"";
    N[j]=Integer.parseInt(temp3);
    k2++;
}
int[] O=new int[m+1];
for(int a=0;a<m+1;a++) {
    O[a]=0;
}
for(int l=0;l<n;l++) {
    O[l]+=M[l]+N[l];
    if(O[l]>9) {
        O[l]-=10;
        O[l+1]+=1;
    }
}
for(int p=n;p<m;p++) {
    O[p]+=M[p];
    if(O[p]>9) {
        O[p]-=10;
        O[p+1]+=1;
    }
}
    if(O[m]==0) {
        for(int z=m-1;z>=0;z--) {
            System.out.print(O[z]);
        }
    }else {
        for(int y=m;y>=0;y--) {
            System.out.print(O[y]);
        }
    }
    }

这是错误信息

debug看字符数组是不是有空的字符串,类型转换异常 ,错误很明显了 ,你输入的是时候数据肯定有误