生成随机数包含数字,字母
/** * 生成随机数当作getItemID * n : 需要的长度 * @return */ private static String getItemID( int n ) { String val = ""; Random random = new Random(); for ( int i = 0; i < n; i++ ) { String str = random.nextInt( 2 ) % 2 == 0 ? "num" : "char"; if ( "char".equalsIgnoreCase( str ) ) { // 产生字母 int nextInt = random.nextInt( 2 ) % 2 == 0 ? 65 : 97; // System.out.println(nextInt + "!!!!"); 1,0,1,1,1,0,0 val += (char) ( nextInt + random.nextInt( 26 ) ); } else if ( "num".equalsIgnoreCase( str ) ) { // 产生数字 val += String.valueOf( random.nextInt( 10 ) ); } } return val; }
测试结果:
UtSZ4cta
生成字母
/** * 生产ItemName随机函数 * @param length * @return */ private static String getItemName( int length ){ String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for ( int i = 0; i < length; i++ ) { int number = random.nextInt( base.length() ); sb.append( base.charAt( number ) ); } return sb.toString(); }
测试结果:
cgZbhcIu