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