java 生成随机字母数字组合

  • 时间:
  • 来源:互联网
import java.util.Random;  
public class RandomTest {  
 
      
 
    /** 
     * 方法1:生成随机数字和字母组合  
     * @param length 
     * @return 
     */  
 
    public static String getCharAndNumr(int length) {  
 
        Random random = new Random();  
 
        StringBuffer valSb = new StringBuffer();  
 
        String charStr = "0123456789abcdefghijklmnopqrstuvwxyz";  
 
        int charLength = charStr.length();  
 
          
 
        for (int i = 0; i < length; i++) {  
 
            int index = random.nextInt(charLength);  
 
            valSb.append(charStr.charAt(index));  
 
        }  
 
        return valSb.toString();  
 
    }  
 
      
 
    /** 
     * 方法2:生成随机数字和字母组合 
     * @param length 
     * @return 
     */  
 
    public static String getCharAndNumr2(int length) {  
 
        StringBuffer valSb = new StringBuffer();  
 
        Random random = new Random();  
 
        for (int i = 0; i < length; i++) {  
 
            String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // 输出字母还是数字  
 
            if ("char".equalsIgnoreCase(charOrNum)) {  
 
                // 字符串  
 
                int choice = random.nextInt(2) % 2 == 0 ? 65 : 97;  // 取得大写字母还是小写字母  
 
                valSb.append((char) (choice + random.nextInt(26)));  
 
            } else if ("num".equalsIgnoreCase(charOrNum)) {  
 
                // 数字  
 
                valSb.append(String.valueOf(random.nextInt(10)));  
 
            }  
 
        }  
 
        return valSb.toString();  
 
    }  
 
      
 
    /** 
     * 方法3:生成随机数字和字母组合 
     * @param length 
     * @return 
     */  
 
    public static String getCharAndNumr3(int length) {  
 
        StringBuffer valSb = new StringBuffer();  
 
        for (int i = 0; i < length; i++) {  
 
            String charOrNum = Math.round(Math.random()) % 2 == 0 ? "char" : "num"; // 输出字母还是数字  
 
            if ("char".equalsIgnoreCase(charOrNum)) {  
 
                // 字符串  
 
                int choice = Math.round(Math.random()) % 2 == 0 ? 65 : 97;  // 取得大写字母还是小写字母  
 
                valSb.append((char) (choice + Math.round(Math.random()*25)));  
 
            } else if ("num".equalsIgnoreCase(charOrNum)) {  
 
                // 数字  
 
                valSb.append(String.valueOf(Math.round(Math.random()*9)));  
 
            }  
 
        }  
 
        return valSb.toString();  
 
    }  
 
}  

 

lip86
发布了41 篇原创文章 · 获赞 27 · 访问量 13万+
私信 关注

本文链接http://element-ui.cn/news/show-1841.aspx