随机数(产生,偶数,任何字符,各类型的随机数)
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(); } }