您的位置:首页 > 编程语言 > Java开发

java 生成指定位数的字符串

2014-05-26 16:05 218 查看
package lys.test;

import java.util.Random;

public class Jiaoyanma {

public static void main(String[] args) {

/*

* int m = 0; for(int i = 0; i < 10; i++){ int c = i<<16; for(int j = 0;

* j < 16; j++){ if((c&0x80000000) != 0){ c = c<<1; c = c^0x04C11DB7;

* m++; } else{ c = c<<1; } }

* System.out.println(Integer.toHexString(c)); }

* System.out.println("m的值为::"+m);

*/

// getRandomString(10);

String a=getRandomString1(10);

System.out.println(a);

}

//方法1

public static String getRandomString(int length) {

String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Random rd = new Random();

StringBuffer sb = new StringBuffer();

for (int i = 0; i < length; i++) {

int number = rd.nextInt(str.length());

sb.append(str.charAt(number));

}

return sb.toString();

}

//方法2

public static String getRandomString1(int length) {

Random rd = new Random();

StringBuffer sb = new StringBuffer();

long result = 0;

for (int i = 0; i < length; i++) {

int number = rd.nextInt(3);

switch (number) {

// 大写字母

case 0:

result = Math.round(Math.random() * 25 + 65);

sb.append(String.valueOf((char) result));

break;

// 小写字母

case 1:

result = Math.round(Math.random() * 25 + 97);

sb.append(String.valueOf((char) result));

break;

// 数字

case 2:

sb.append(String.valueOf(new Random().nextInt(10)));

break;

}

}

return sb.toString();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐