Math類
Math類有如下的常見方法:
1、static double abs(double a):返回double值的絕對值思币。
2彬向、static double max(double a, double b):返回兩個(gè)double值里面較大的一個(gè)汗唱。
3空郊、static double random():返回一個(gè)隨機(jī)的double值份招,該值 大于等于0.0且小于1.0.
示例:獲取輸入的四位數(shù)字的百位看是否同隨機(jī)生成的數(shù)相同,相同則為幸運(yùn)客戶狞甚。
public class Demo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int random = (int) (Math.random() * 10);
System.out.println("please input a four num");
int num = input.nextInt();
System.out.println(random);
int num2 = num / 100 % 10;
if (num2 == random) {
System.out.println("good luck");
} else {
System.out.println("thank you");
}
}
}
Random類
Random類用于生成隨機(jī)數(shù)锁摔。每當(dāng)需要以任意或非系統(tǒng)的方式生成數(shù)字時(shí),可使用此類哼审。Math類的random()方法底層就是使用Random類實(shí)現(xiàn)的鄙漏。
Random類的構(gòu)造方法有兩種重載方式:
1、Random() :創(chuàng)建一個(gè)隨機(jī)數(shù)生成器
2棺蛛、Random(long seed):使用單個(gè)long種子創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器
Random類中還定義了很多方法用于獲取隨機(jī)數(shù),最常用的是nextInt()方法巩步,它返回下一個(gè)偽隨機(jī)數(shù)旁赊,返回值類型是整型。
返回下一個(gè)偽隨機(jī)數(shù)的語法格式如下:
int nextInt();返回下一個(gè)偽隨機(jī)數(shù)椅野,它是此隨機(jī)數(shù)生成器的序列中均勻分布的int值终畅。
int nextInt(int n);返回下一個(gè)偽隨機(jī)數(shù)籍胯,它是取自此隨機(jī)數(shù)生成器序列的、在0(包括)和指定的值n(不包括n)之間均勻分布的int值离福。
示例:生成5個(gè)10以內(nèi)的隨機(jī)數(shù)
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random rand = new Random();
for (int i = 0; i < 5; i++) {
System.out.print(rand.nextInt(10));
}
}
}
注:如果用同樣一個(gè)種子值來初始化兩個(gè)Random對象杖狼,然后用每個(gè)對象調(diào)用相同的方法,那么得到的隨機(jī)數(shù)也是相同的妖爷。
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random rand = new Random(100);
Random rand2 = new Random(100);
for (int i = 0; i < 5; i++) {
System.out.print(rand.nextInt(5));
System.out.println(rand2.nextInt(5));
}
}
}