随机数(产生,偶数,任何字符,各类型的随机数)

package com.lei.duixiang;

import java.util.Random;

public class MathRondom {

    /**
     * 1. 随机数(产生,偶数,任何字符,各类型的随机数)
     * @param args
     */

    // 1.随机数(产生偶数)
    public static int GetEvenNum(double num1,double num2){
        //产生 num1 ~ num2 之间的随机数
        int s = (int)num1 + (int)(Math.random()*(num2 - num1));
        if(s % 2 == 0){    //判断随机数是否为偶数
            return s;    //返回
        }else{
            return s+1;    //如果是奇数,将结果返回 +1
        }
    }

    // 2.随机数产生任何字符
    public static char GetRandomChar(char cha1,char cha2){
        return (char) (cha1 + Math.random()*(cha2 - cha1 +1));
    }
    
    //各类型的随机数
    public static void random(){
        Random r = new Random();    //实例化一个Random类
        //随机产生一个整数
        System.out.println("随机产生一个整数:"+r.nextInt());
        //随机产生一个大于等于0小于10的整数
        System.out.println("随机产生一个大于等于0小于10的整数:"+r.nextInt(10));
        //随机产生一个 布尔型的值
        System.out.println("随机产生一个 布尔型的值:"+r.nextBoolean());
        //随机产生一个 双精度型的值
        System.out.println("随机产生一个 双精度型的值:"+r.nextDouble());
        //随机产生一个 浮点型的值
        System.out.println("随机产生一个 浮点型的值:"+r.nextFloat());
        //随机产生一个 概率速度为高斯分布的双精度型值
        System.out.println("随机产生一个 概率速度为高斯分布的双精度型值"+r.nextGaussian());
    }

    public static void main(String[] args) {
        //1.调用产生随机偶数的方法
        System.out.println("任意一个 2~32 之间的偶数:" + GetEvenNum(2, 32));
        // 2.随机数产生任何字符
        //获取 a-z 之间的随机字符
        System.out.println("任意小写字符:"+ GetRandomChar('a', 'z'));
        //获取 A - Z 之间的随机字符
        System.out.println("任意大写字符:"+ GetRandomChar('A', 'Z'));
        //获取 0 - 9 之间的随机字符
        System.out.println("0 - 9 之间的随机字符:"+ GetRandomChar('0', '9'));
        
        System.out.println("------------");
        random();
    }

}

 

posted @ 2014-12-17 17:31  小菜希  阅读(2153)  评论(0编辑  收藏  举报