java 获取随机数,随机字母,随机字母加数字字符串

  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

 

你可能感兴趣的:(java,工具类)