JAVA学习笔记(1)_区间内生成不重复的随机数
来源:互联网 发布:欧立讯写频软件 编辑:程序博客网 时间:2024/06/05 20:31
JAVA学习笔记(1)_区间内生成不重复的随机数
java初学者——狗蛋儿
要求:1、使用Random,在[100,200]区间内生成十个不重复的随机数
2、将生成的随机数存放在数组中
3、进行排序
4、不使用Set
先贴代码:
import java.util.Random;public class Demo_Random
{
/**
* 随机数
* 100~200之间的10个不重复的随机数,并进行升序或降序排序
*
* nextInt(a):[0,a)
*/
public static void main(String[] args)
{
//创建对象
Demo_Random d = new Demo_Random();
//储存排序结果的数组
int[] result = new int[10];
//临时数组,用于存放随机数
int[] temp = new int[10];
//取值范围100~200
int min = 100;
int max = 200;
//计数器:用于记录已经生成了多少个(有效)随机数
int count = 0;
//while、for循环嵌套:生成10个不重复的随机数
while(count < 10)
{
//随机数生成器(自定义)
int num = d.randomBuilder(min, max);
boolean flag = true;//开关变量,true:有效
for(int i = 0;i < 10;i++)
{
if(num == temp[i])
{
flag = false;//count值不变
break;//跳出for循环,count不变,重新生成随机数
}
}
if(flag)//如果为有效随机数,则写入临时数组
{
temp[count] = num;
count++;
}
}
//随机数是否重复
for(int i = 0;i < 10;i++)
{
System.out.print(temp[i] + "\t");
}
System.out.println();
//进行冒泡排序
result = d.bubble(temp);
for(int i = 0;i < 10;i++)
{
System.out.print(result[i] + "\t");
}
}//main
//随机数生成器
private int randomBuilder(int min,int max)
{
Random r = new Random();
//nextInt(int n)生成的数在[0,n)区间内
//若要取100~200之间的随机数,则先生成[0,101)内的数再加上100
int num = r.nextInt(max - min + 1) + min;
return num;
}
//冒泡排序
private int[] bubble(int b[])
{
int temp = 0;
for(int i = 0;i < 9;i++)
{
for(int j = 0;j < 9;j++)
{
if(b[j] > b[j + 1])
{
temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
}
}
return b;
}
}//class
我认为这是最容易理解也是最容易想到的方法,使用双重循环判断新生成的随机数是否出现过,需要注意的是外层循环是用while而不是for,具体原因会在另一篇文章中讲到
注:本人狗蛋儿,Java初学者,技术渣一枚,如果文章中有什么不对的地方或者您有更好的解决方案,欢迎留言进行交流~么么哒~~
阅读全文
0 0
- JAVA学习笔记(1)_区间内生成不重复的随机数
- 生成区间内互不重复的随机数序列
- javaSript 随机生成指定区间 不重复的随机数
- java生成指定个数及区间范围的不重复随机数存入数组中
- java生成不重复的随机数
- java生成不重复的随机数
- Java 生成不重复的随机数
- java生成不重复的随机数
- java 生成不重复的随机数
- java之生成不重复的随机数
- java 生成一组不重复的随机数
- Java生成不重复的随机数
- java 生成不重复的随机数
- 随机生成1000w内不重复的随机数
- java 不重复随机数生成
- java生成不重复随机数
- java生成不重复随机数
- 生成1-100不重复的随机数
- CodeForces
- Xshell无法连接ubuntu的问题解决
- BaseAdapter——convertView回收机制
- GPU编程自学5 —— 线程协作
- Java的位移运算符
- JAVA学习笔记(1)_区间内生成不重复的随机数
- 互斥锁
- SpringMVC工作原理详细介绍
- python实现求解字符串集的最长公共前缀
- git 不小心删除本地文件恢复
- Android应用程序activity启动流程简介
- bootstrap系列之七图片与辅助样式
- 分页查询接口常见设计思路
- 如何设置IE禁用代理服务器