`

Java的Random实例

    博客分类:
  • Java
阅读更多

这两天出去玩,经常看大有各种**的小游戏,就想到以前朋友说的一个事儿:游侠装备**的时候如何保证玩家抽到的好装备较少。其实这个思路还挺简单的:生成一个随机数,判断若该随机数>6或7什么的,就有好装备否则就是不好的。于是就琢磨了下,写个小例子玩玩。

 

说明:假设总共**10次,好东西3个,随机数大于6的时候才能有好东西。因此先声明静态变量:

private static int goosNum = 3;//声明10次抽到好东西的数量
private static int boundNum=6;//界限,若是大于6则为好东西,否则为谢谢参与
private static int count=0;//用来计数抽到好东西的次数
private static int totalCount=10;//总的次数
private static int curCount=0;//目前已有次数(规定必须有多少个好东西时用)

1、10次中最多有3次抽到好东西的机会:

public static int getRandom() {
	Random r = new Random();// 实例化
	int num = 0;// 用来存放产生的随机数
	num = r.nextInt(10);// 随机生成一个介于0-10之间的整数
	if(count<goosNum) {// 说明机会还没有用完,那么可以随便抽取
		if(num>boundNum) {//若大于6,那么是好东西,需要记录一下
			count++;
		}
	}else{//说明好机会已经用完,那么随机数必须小于boundNum
		num = r.nextInt(boundNum);// 随机生成一个介于0-boundNum之间的整数
	}
	return num;
}

测试:

public static void main(String[] args) {
	//连续抽取10
	int randomNum = 0;
	for(int i=1;i<=totalCount;i++){
		randomNum = getRandom();
		if(randomNum<=boundNum){
			System.out.println("第"+i+"次:谢谢参与!");
		}else{
			System.out.println("第"+i+"次:恭喜恭喜!");
		}
	}
	System.out.println("抽到好东西的次数:"+count+"次");
}

这个方法可能抽到3次好东西,可能2次,可以1次,也可能没有。

 

2、10次中必须有3次抽到好东西的机会,也就是所有的机会中一定会有三次抽到好东西:

public static int getRandom2() {
	Random r = new Random();// 实例化
	int num = 0;// 用来存放产生的随机数
	num = r.nextInt(10);// 随机生成一个介于0-10之间的整数
	if(count<goosNum) {// 说明机会还没有用完,那么可以随便抽取
		if(num>boundNum) {//若大于6,那么是好东西,需要记录一下
			count++;
		}else{//避免连续两次出现好的好东西
			//若是剩下的机会小于或等于还剩下抽到好东西的次数,为确保有指定次数的机会此处务必让生产大于6的随机数
			if((totalCount-curCount)<=goosNum){
				int num2 = 0;
				while(num2<=boundNum){
					num2 = r.nextInt(10);// 随机生成一个介于0-10之间的整数
					if(num2>boundNum){
						num=num2;
						break;
					}
				}
				count++;
			}
		}
	}else{//说明好机会已经用完,那么随机数必须小于boundNum
		num = r.nextInt(boundNum);// 随机生成一个介于0-boundNum之间的整数
	}
	curCount ++;//每抽一次自增1
	return num;
}

3、所有的机会中只有前三次能抽到好东西,往后的其次都是不好的:

public static int getRandom3() {
	Random r = new Random();// 实例化
	int num = 0;// 用来存放产生的随机数
	num = r.nextInt(10);// 随机生成一个介于0-10之间的整数
	if(count<goosNum) {//说明机会还没有用完,那么必须为大于6的数字
		int num2 = 0;
		while(count<goosNum){//已抽到次数<总的好东西的数量
			num2 = r.nextInt(10);// 随机生成一个介于0-10之间的整数
			if(num2>boundNum){
				num=num2;
				count++;
				break;
			}
		}
	}else{//好东西的数量已经满了,那么随机数必须小于boundNum
		num = r.nextInt(boundNum);// 随机生成一个介于0-boundNum之间的整数
	}
	return num;
}

PS:文章中的**指定的是什么,大家就猜吧。因为**是敏感词汇我要是打出来,会被扣分、封号删文。也可能是标题中有这个敏感字眼,我可是不敢再试了。

再PS:文中的**代表抽 奖,管理员说加个空格可以避免因敏感词汇被封号的问题,我这是试下!希望不要封号哈!

再再PS:还是没能经住诱惑试了下标题是否可以用加空格的敏感词汇,结果果然不负众望-成功被封号,哭

 

分享到:
评论

相关推荐

    Java基础之Random随机数.docx

    Java基础之Random随机数 Java中的随机数使用率非常高,因此掌握随机数的使用是非常重要的。在Java中,Random类提供了产生随机数的方法,下面将详细介绍Random类的使用。 Random类的使用 Random类是Java中生成...

    完整java实例代码

    在这个实例中,Java的`Random`类用于生成一个随机整数,然后让用户尝试猜测这个数字。通过循环结构和条件语句实现游戏逻辑,如比较用户的猜测与目标数字,并提供提示直到猜对为止。 2. **复数运算**:复数在数学中...

    java技术开发实例

    在Java技术开发中,实例是将抽象的概念转化为具体代码的过程,是编程实践中不可或缺的一部分。这里我们有两个具体的实例:登录窗口和颜色变化。这两个实例分别涵盖了Java GUI编程和颜色处理的基本概念。 首先,让...

    实例讲解Java中random.nextInt()与Math.random()的基础用法

    在Java编程语言中,生成随机数是常见的任务,这通常涉及到`java.util.Random`类和`java.lang.Math`类中的`random()`方法。本文将详细解释`random.nextInt()`和`Math.random()`的基础用法。 首先,`random.nextInt(n...

    Java中Random类.pdf

    Java中Random类 Java中Random类提供了产生多种形式随机数的功能。使用Random类,可以轻而易举地产生所需的所有形式的随机数,十分方便。在程序设计中,需要大量的不同形式的随机数,使用Math类的random()方法还必须...

    java范例开发大全

    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...

    常用java程序实例

    根据给定文件的信息,我们可以总结出以下几个重要的Java知识点: ### 1. 交换两个变量的值,无需使用第三个变量 这段代码展示了如何不借助额外变量完成两个整型变量`a`和`b`的值互换。具体实现如下: ```java int...

    Java方法实例

    ### Java方法实例详解 #### 获取环境变量与系统属性 在Java中,我们可以通过`System`类来获取环境变量以及系统的一些基本属性。 1. **获取环境变量:** ```java String path = System.getenv("PATH"); // 获取...

    java试验,random函数调用等

    在Java中,我们首先需要通过`new Random()`来实例化一个`Random`对象,然后才能调用它的方法来生成随机数。例如: ```java Random random = new Random(); ``` 2. **生成随机整数**: `nextInt()`方法用于生成...

    java实例100例

    10. **实用类库**:Java标准库提供了许多实用类,如Date、Random、Math等,实例会演示如何利用它们完成特定任务。 通过这100个实例,学习者能够逐步建立起对Java编程的深入理解,提升编程技巧,为更复杂的项目开发...

    java学习资料-实例解析常用Java随机数生成

    在Java中,生成随机数主要有两种方式:使用`Math.random()`方法和`java.util.Random`类。 1. **Math.random()方法**: `Math.random()`是Java内置的静态方法,它返回一个0.0到1.0之间的双精度浮点数,不包括1.0。...

    Java产生随机数的两种方式

    本文将详细探讨Java中生成随机数的两种主要方法:`java.lang.Math.random()`静态方法和`java.util.Random`类。 首先,我们来看`java.lang.Math.random()`方法。这是一个静态方法,不需要实例化对象就可以直接调用。...

    JAVA趣味编程100实例

    在标题“JAVA趣味编程100实例”下,描述中提到“很实用的java趣味编程小程序”,这说明本文件旨在通过有趣的编程实例来帮助学习者加深对Java语言的理解和应用能力。通过解决实际问题来提高编程技能,这些实例很可能...

    Java经典实例

    ### Java经典实例:深入探索关键知识点 在《Java经典实例》这一资料中,我们得以窥见Java编程语言的精髓所在,通过一系列实用的代码片段,它不仅加深了我们对Java的理解,还提供了丰富的实践指导。以下是对该资料中...

    java7-new--random.rar_java7.0_random

    Java 7对`java.util.Random`类进行了一些改进,使得开发者能够更加灵活地生成不同类型和范围的随机数。 在Java 6及更早版本中,`Random`类提供了基本的随机数生成功能,如`nextInt()`、`nextDouble()`等。然而,...

    groovy和Java相互调用1

    例如,如果要使用`java.util.Random`类,只需在Groovy脚本的开头写入`import java.util.Random`。然后,你可以像在Java中一样实例化和使用这个类。在给出的例子中,创建了一个`Random`对象并使用它生成一系列随机...

    java饼状图生成实例

    本实例将详细介绍如何在Java中创建饼状图,包括必要的库、代码实现以及可能遇到的问题。 首先,我们需要一个合适的库来帮助我们生成饼状图。Apache POI和JFreeChart是两个常用的Java库,它们提供了丰富的图表绘制...

    java扔骰子实例

    java扔骰子实例Scanner sc=new Scanner(System.in); //标准输入设备 Random rd = new Random(); //随机数对象 int computerSUM=0; int userSUM=0; int sum = 500; //用户总分 int pay = 0; //用户押分 int[]...

    java编程实例

    Java的`Random`类用于生成随机数,可以用来控制烟花的初始位置、速度和方向,从而实现多变的效果。 7. **优化和性能** 由于Applet是在浏览器中运行,性能优化至关重要。可能的优化策略包括减少不必要的绘制,使用...

    JAVA中的随机数产生和排序

    Java提供了两种主要的类来生成随机数:`java.util.Random` 和 `java.security.SecureRandom`。`Random` 类是最常用的,适用于大多数非安全性敏感的场景。创建 `Random` 实例后,可以通过其 `nextInt()`、`nextDouble...

Global site tag (gtag.js) - Google Analytics