银行卡 卡号生成器
package demo;
import java.util.Calendar;
import java.util.Random;
public class CreateID {
/**
* @param args
*/
public static void main(String[] args) {
int l = 1000000000;
for (int i = 0; i < 1000; i++) {
StringBuffer card = new StringBuffer("622588");
Random random = new Random();
int a = Math.abs(random.nextInt())*l;
String b = a + "";
if(a>0 && b.length()==10){
card.append(b);
// System.out.println(card);
boolean result = validateBankCardNo(card.toString());
if(result){
System.out.println(""+card.toString());
}else{
//System.out.println("##"+card.toString());
}
}
}
// String testCard = "6225881401527808";
// System.out.println(validateBankCardNo(testCard));
}
private static boolean validateBankCardNo(String number){
int s1 = 0;
int s2 = 0;
String reverse = new StringBuffer(number).reverse().toString();
for(int i = 0 ;i < reverse.length();i++){
int digit = Character.digit(reverse.charAt(i), 10);
if(i % 2 == 0){
s1 += digit;
}else{
s2 += 2 * digit;
if(digit >= 5){
s2 -= 9;
}
}
}
return (s1 + s2) % 10 == 0;
}
}