チェックデジットLuhnアルゴリズムは、 Javaで
//------------------------------------------------ ---------
有効なクレジットカード番号Luhnアルゴリズムを使用して/ /チェック
//------------------------------------------------ ---------
パブリック抽象クラスLuhnCheck (
//--------------------------------
/ /フィルタ以外の桁の文字を
//--------------------------------
(民間の静的な文字列を文字列getDigitsOnly ) (
StringBuffer digitsOnly =新しいStringBuffer ( ) ;
文字ç ;
( INTは私= 0 ;のi < s.length ( ) ;私+ + ) (
ç = s.charAt ( 1 ) ;
もし( Character.isDigit (ウ) ) (
digitsOnly.append (ウ) ;
)
)
戻りdigitsOnly.toString ( ) ;
)
//-------------------
/ /実行Luhnチェック
//-------------------
公共の静的なブールisValid (文字列cardNumber ) (
文字列digitsOnly = getDigitsOnly ( cardNumber ) ;
INTは合計= 0 ;
INTは桁= 0 ;
INTは加数= 0 ;
ブールtimesTwo =偽;
( INTは私= digitsOnly.length ( ) - 1 ;私> = 0 ;私- ) (
桁= Integer.parseInt ( (私+ digitsOnly.substring 1 ) ) ;
( timesTwo ) (
加数=桁* 2 ;
(加数> 9 ) (
かすう-= 9 ;
)
)
他(
加数=桁;
)
合計+ =加数;
timesTwo = ! timesTwo ;
)
INTは係数=合計% 10 ;
戻り率== 0 ;
)
//-----
/ /テスト
//-----
静的な無効メイン(文字列[ ] args )を公開(
文字列cardNumber = " 4408 0412 3456 7890 " ;
ブール値有効= LuhnCheck.isValid ( cardNumber ) ;
System.out.println ( cardNumber + " : " +有効) ;
cardNumber = " 4408 0412 3456 7893 " ;
= LuhnCheck.isValid ( cardNumber有効) ;
System.out.println ( cardNumber + " : " +有効) ;
cardNumber = " 4417 1234 5678 9112 " ;
= LuhnCheck.isValid ( cardNumber有効) ;
System.out.println ( cardNumber + " : " +有効) ;
cardNumber = " 4417 1234 5678 9113 " ;
= LuhnCheck.isValid ( cardNumber有効) ;
System.out.println ( cardNumber + " : " +有効) ;
)
)
|
ブックマークのデータLuhnチェックアルゴリズムのJavaで
最新のブログの投稿
- 乾燥方法は 、 携帯電話を連絡先に水で 、 是非のに

