Java中產生隨機數的方法

Java中產生隨機數的方法

1、調用System.currentTimeMillis()方法可以獲取1970年1月1日午夜到現在的毫秒數(例如:1203183086328毫秒),我們可以通過取餘的方式得到其最後一位的整數:

int number1 = (int)(System.currentTimeMillis() % 10);

案例:通過程序產生隨機數讓一年級學生練習加法。程序隨機產生兩個一位整數,number1和number2,然後顯示“What is 1 + 7?”

package program3_1;

import java.util.Scanner;

public class AdditionQuiz {
	public static void main(String[] args) {
		int number1 = (int)(System.currentTimeMillis() % 10);
		int number2 = (int)(System.currentTimeMillis() / 7 % 10);
		Scanner input = new Scanner(System.in);
		System.out.print("What is " + number1 + " + " + number2 + " ?");
		int answer = input.nextInt();
		System.out.println(number1 + " + " + number2 + " = " + answer + " is " + (number1 + number2 == answer));
	}
}

在這裏插入圖片描述
在這裏插入圖片描述
2、使用Math.random()來獲得一個0.0到1.0之間的隨機double值,不包括1.0。通過(int)(Math.random() * 10)會返回一個隨機的一位整數(即0到9之間的數)

int number1 = (int)(Math.random() * 10);

案例:一個讓一年級學生練習減法的程序,程序隨機產生兩個一位整數number1和number2,且滿足number>=number2。顯示問題:“What is 9 - 2 ?”學生輸入答案後,顯示消息判斷是否正確

package program3_3;

import java.util.Scanner;

public class SubtractionQuiz {
	public static void main(String[] args) {
		int number1 = (int)(Math.random() * 10);
		int number2 = (int)(Math.random() * 10);
		if(number1 < number2) {
			int temp = number1;
			number1 = number2;
			number2 = temp;
		}
		System.out.println("What is " + number1 + " - " + number2 + " ?");
		Scanner input = new Scanner(System.in);
		int answer = input.nextInt();
		if(number1 - number2 == answer) {
			System.out.println("You are correct!");
		}
		else {
			System.out.println("You are wrong!");
			System.out.println(number1 + " - " + number2 + " should be " + (number1 - number2) + "!");
		}
 	}
}

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
大家如果還有什麼問題、建議或者補充可以留言,看到了我會及時回覆!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章