在一个老外的论坛上面看到一个算法(应该还有其他方法,这个不是最好的),做了一些修改,如下:import java.sql.*;
import java.util.*;
import java.io.*;
import java.text.*;
import java.lang.*;public class RandomTest {

Random rand = new Random(); private String randomnumber = ""; final String [] numset = {"0","1","2","3","4","5","6","7","8","9"}; public static void main(String[] args){
RandomTest test=new RandomTest();
for(int i=0;i<10;i++){
test.generateRandom();
System.out.println(test.getRandomNum());
}
} public String getRandomNum(){
return randomnumber;
} public void generateRandom () {
boolean isValidNum=false;
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
while(!isValidNum){
       for(int n=0; n<13; n++){
             sb2 = sb2.append(numset[rand.nextInt(10)]);       }
       randomnumber = sb1.append(sb2).toString();
       //only get the random number can be parsed into integer
       if(!randomnumber.startsWith("0")){
       isValidNum=true;
       }else{
       //remember to remove the char in the buffer
       sb1.delete(0,sb1.length());
       sb2.delete(0,sb2.length());
       }
       }
      
    }
    
}