gpt4 book ai didi

java - 当我的数组中显然有数据时,出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 12:45:02 24 4
gpt4 key购买 nike

我正在尝试制作自己版本的信用卡 validator ,目前我正在使用 Luhn 算法检查数字。在此代码片段中,我将信用卡数字移入和移出数组,并将它们从整数更改为字符串,反之亦然。这是我的代码片段:

  public static void checkDigits(){
System.out.println("Printing out charat card:");
//check digits
checkDigits = new int[length];
for(int i = 0; i < length ; i++){
checkDigits[i] = Integer.parseInt(card.substring(i,i+1));

//successfully puts digits into array
}
for(int e = length-2; e >= 0; e-=2){
checkDigits[e] = 2*checkDigits[e];
}
for(int d = 0; d < length; d++){
holdDigitsChar.add(String.valueOf(checkDigits[d]));
}
for(int v = 0; v<length;v++){
if(holdDigitsChar.get(v).length() == 2){
holdDigits.add(Integer.parseInt(holdDigitsChar.get(v).substring(0,1)));
holdDigits.add(Integer.parseInt(holdDigitsChar.get(v).substring(1,2)));
}
else{
holdDigits.add(Integer.parseInt(holdDigitsChar.get(v)));
}
}
for(int c = 0; c < holdDigits.size(); c++){
checkSum += holdDigits.get(c);
}
System.out.println("Check sum:" +checkSum);
}

它说线路上有一个NPE:

  holdDigitsChar.add(String.valueOf(checkDigits[d])); 

我已经使用打印语句检查了数组,它正在返回信用卡中的数字字符串。为什么它给我一个空指针?如果有帮助的话,我可以粘贴其余的代码。

谢谢。

PS 我还没有越过这条线,所以我不确定其他部分是否有效。

最佳答案

简单:holdDigitsChar 为空。下次尝试更努力地搜索。

关于java - 当我的数组中显然有数据时,出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com