欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java 产生随机数:Java 中产生随机数的方法及应用汇总

发布时间:2025/3/8 java 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java 产生随机数:Java 中产生随机数的方法及应用汇总 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 前言
  • 一、System.currentTimeMillis() 方法
    • 1.1、System.currentTimeMillis() 方法原理剖析
    • 1.2、实现随机数加法程序
  • 二、Math.random() 方法
    • 2.1、Math.random() 方法原理剖析
    • 2.2、实现随机数减法程序
  • 总结


前言

在 Java 中提供了很多的方法能够产生随机数,在本文中将持续进行总结相应的方法和应用,对于初学者来说较为友好,同时附了简单的案例供大家参考。


一、System.currentTimeMillis() 方法

1.1、System.currentTimeMillis() 方法原理剖析

根据 API 的介绍,调用 System.currentTimeMillis() 方法我们可以获取 1970 年 1 月 1 日午夜到现在的毫秒数(例如:1203183086328 毫秒)。

我们可以通过取余的方式得到其最后一位的整数,代码如下:

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

1.2、实现随机数加法程序

利用 System.currentTimeMillis() 方法实现通过程序产生随机数让一年级学生练习加法,例题如下。

程序随机产生两个一位整数,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));} }

实现具体如下图所示:


二、Math.random() 方法

2.1、Math.random() 方法原理剖析

使用 Math.random() 来获得一个 0.0 到 1.0 之间的随机 double 值,不包括 1.0

通过 (int)(Math.random() * 10) 会返回一个随机的一位整数(即 0 到 9 之间的数),代码如下:

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

2.2、实现随机数减法程序

利用 Math.random() 方法实现一个让一年级学生练习减法的程序,例题如下。

程序随机产生两个一位整数 number1 和 number2,且满足 number >= number2。显示问题:“What is 9 - 2 ?”学生输入答案后,显示消息判断是否正确。

实现代码如下:

package com.bailu.test;import java.util.Scanner;public class AdditionQuiz {public static void main(String[] args) {int number1 = (int) (Math.random() * 10);int number2 = (int) (Math.random() * 10);if (number2 > number1) {int temp = number1;number1 = number2;number2 = temp;}System.out.print("What is " + number1 + " - " + number2 + " ? ");Scanner input = new Scanner(System.in);int answer = input.nextInt();input.close();if (number1 - number2 == answer) {System.out.println("You are right!");} else {System.out.println("You are wrong!");System.out.println(number1 + " - " + number2 + " = " + (number1 - number2));}} }

实现具体如下图所示:



总结

本文给大家介绍了两种产生随机数的方法,这是最简单的两种。日后有机会我还会继续补充更多的方法,另外大家还有什么方法呢?补充到下面吧!


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

总结

以上是生活随笔为你收集整理的Java 产生随机数:Java 中产生随机数的方法及应用汇总的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。