java只有涉及到随机的,最经常用到的方法就是Math.random(),这个方法会返回一个大于0小于1的随机数( 能取0不能取1 ),如果我们要随机0-9,就可以用(Math.random()*10)来表示,随机0-99也类似如此操作。
一:随机获取0-66代码实例:
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
System.out.println("随机获取0-66中的一个数:" + (int)(Math.random()*67));;
}
}
测试结果:
随机获取0-66中的一个数:47
随机获取0-66中的一个数:11
随机获取0-66中的一个数:19
随机获取0-66中的一个数:49
随机获取0-66中的一个数:53
随机获取0-66中的一个数:20
随机获取0-66中的一个数:66
随机获取0-66中的一个数:57
随机获取0-66中的一个数:20
随机获取0-66中的一个数:61
二:有时候,我们想随机获取的不是数字,而是字母,这时候我们要用到char
先看看char前两百个都是哪些
字符,执行以下代码:
public static void main(String[] args) {
for(int i =0; i<200; i++){
char c = (char)i ;
System.out.print(i + ":" + c + " ");
if (i%10 == 0) {
System.out.println();
}
}
}
结果:
由上图可以发现,大写字母A--Z是从65-90 ,小写字母a--z是从97--122 , 所以如果要随机取一个字符的话可以用以下代码:
public static void main(String[] args) {
char c=(char)(int)(Math.random()*26+97);
System.out.println("随机取一个小写字母:" + c);
c=(char)(int)(Math.random()*26+65);
System.out.println("随机取一个大写字母:" + c);
}
结果:
随机取一个小写字母:n
随机取一个大写字母:A
三:有时候,我们想要随机的中一堆字符和数字和符号里面随机获取一个
代码实例(一堆数据中随机取10个):
public static void main(String[] args) {
//先定义取值范围
String chars = "0123456789QWERTYUIOPASDFGHJKLZXCVBNMabcdefghijklmnopqrstuvwxyz!~@#$%^&*()_+-=`[]{};':,.<>/?|";
StringBuffer value = new StringBuffer();
for (int i = 0; i < 10; i++) {
value.append(chars.charAt((int)(Math.random() * 92)));
}
System.out.println("随机选取的10个数为:" + value.toString());
}
结果:
随机选取的10个数为:a8sLv0wK24