-2
對於那些熟悉Luhn算法的人,我正在編寫一個程序,使用這種算法驗證信用卡號碼。這是我已經:Luhn's Algorithm not working properly
Scanner input = new Scanner(System.in);
String ccNum = "";
int product = 0;
int sum = 0;
System.out.print("Please enter a credit card #: ");
ccNum = input.next();
for(int i = 0 + 1; i < ccNum.length(); i--){
int number = Integer.parseInt(ccNum.substring(i, i + 1));
if(i % 2 != 0){
product = number * 1;
}
else{
product = number * 2;
}
if(product > 9){
product -= 9;
sum += product;
}
}
boolean valid = (sum % 10 == 0);
if(valid){
System.out.println("Valid!");
}
else{
System.out.println("Invalid!");
}
}
}
我對這個程序感到困惑。當我運行它時,我得到了「StringIndexOutOfBoundsExpection」錯誤。我應該改變什麼?但是,我們不能在這個程序中使用數組。而不是完整的16位數字,我們只使用8位數字。
'我 - '你確定嗎? – njzk2
你知道Luhn在那裏有很多實現,我想在Apaches commons編解碼庫中有一個 – Gavin
我要檢查一下。 –