java如何产生1-10随机数

作者&投稿:松傅 (若有异议请与网页底部的电邮联系)
java如何产生1-8的整数随机数?~

(int)(Math.random()*8)+1
或者
Random r =new Random(100);System.out.println(r.nextInt(8)+1);
Java产生随机数的两种方式
1、通过Math.random()方法返回一个0到1之间的double值。 2、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
Math.random()方法
Math.random()方法是 Java 的一个静态方法,返回一个0到1之间,前闭后开区间的double值。
(int)(Math.random()*10) 返回0到9的随机整数。 (int)(Math.random()*n) 返回0到n的随机整数。 (int)(Math.random()*100)+1 返回1到100之间的随机整数,前面返回0到99之间的随机数,加1就成了1到100之间的随机数。
Random类
Random 类是 Java 的 util 包中的一个类。
一、Random类使用说明
Random类使用的根本策略是分带种子和不带种子的Random的实例。 通俗说,两者的区别是:带种子的,每次运行生成的结果都是一样的。 不带种子的,每次运行生成的都是随机的,没有规律可言。
创建不带种子的Random对象 Random random = new Random(); 使用一个和当前系统时间对应的相对时间有关的数字作为种子数。
创建带种子的Random对象有两种方法: 1) Random random = new Random(10); 2) Random random = new Random();random.setSeed(10); 种子的作用是什么?种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。 举例:Random r =new Random(100);System.out.println(r.nextInt(20)); 100是种子,r.nextInt(20)中的20是随机数的上限,产生的随机数为0-20的整数,不包括20,种子数只是随机算法的起源数字,和生成的随机数字的区间没有任何关系。 初始化时100并没有起直接作用(注意:不是没有起作用)。

不用自己写,有已经封装好的方法。
(数据类型)(最小值+Math.random()*(最大值-最小值+1))
例:
(int)(1+Math.random()*(10-1+1))
从1到10的int型随数
或者 (int)(1+Math.random()*10)
或者 Random ra =new Random(); ra.nextInt(10)+1

java代码方法一如下:

int random=(int)(Math.random()*10+1)

java代码方法二如下:

package bdqn_Empy;

import java.util.Random;

public class Text {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}

}

扩展资料:

可以先通过 random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。

然后再利用nt方法进行转换它会去掉小数掉后面的数字即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的 grandom方法按照如下的格式进行变型:(int( Math. Random0*10)即可。

其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换成n即可,如改为( int(Math. Random0n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。

如将n设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。



java.util.Random random=new java.util.Random();

// 定义随机类

int result=random.nextInt(10);

// 返回[0,10)集合中的整数,注意不包括10

return result+1; 

// +1后,[0,10)集合变为[1,11)集合,满足要求

以下为举例:

生成一个范围的随机数,如:[min,max]

int max=20;

int min=10;

Random random = new Random();

int s = random.nextInt(max)%(max-min+1) + min;

System.out.println(s);



java.util.Random random=new java.util.Random();// 定义随机类
int result=random.nextInt(10);// 返回[0,10)集合中的整数,注意不包括10
return result+1;              // +1后,[0,10)集合变为[1,11)集合,满足要求


java.util.Random random=new java.util.Random();// 定义随机类
int result=random.nextInt(10);// 返回[0,10)集合中的整数,注意不包括10
return result+1;              // +1后,[0,10)集合变为[1,11)集合,满足要求


楼上正解

int Num=new Random().nextInt(10)+1;
new Random().nextInt(10)产生的是0-9的随机数
new Random().nextInt(11)产生的是0-10的随机数

所以要new Random().nextInt(10)+1;

Java中用Random类生成1到9的随机数该怎么写?使用种子
答:写法:inttemp=m+(int)(Math.random()*(n+1-m));//Java生成从m到n的随机整数[m,n]。random(),函数,random函数返回一个0~num-1之间的随机数。random(num)是在stdlib.h中的一个宏定义。num和函数返回值都是整型数。

用java产生10个随机数,并将10个随机数按产生的顺序显示出来然后将它们...
答:import java.util.Arrays;import java.util.Random;public class Test4 {public static void main(String[] args) {int[] a = new int[10];for (int j = 0; j < a.length; j++) {int i = new Random().nextInt(100)+1;a[j]=i;}//Arrays.sort(数组名也就是a)为数组排序的操作...

java怎么每隔一秒钟输出一个随机数(1-10之间)
答:// 开启一个计时调度,延迟 0毫秒(也就是立即开始执行),调度评率: 1秒 timer.schedule(new TimerTask() { @Override public void run() { // 生成随机数逻辑 Random r = new Random(); int num = r.nextInt(10) + 1; System.out.println("随机数为:" + num...

在java中,怎么实现随机生成10个数字,将其保存到一个数组,并倒序打印输 ...
答:int[] arr = new int[10];//定义数组 for(int i=0;i<10;i++){//循环赋值 arr[i] = (int)(Math.random()*100);//随机0-100范围内的整数 } for(int i=10;i>0;i--){//循环输出 System.out.print(arr[i-1]);}

用java编写程序:向一个长度为5的整型数组中随机生成5个1-10的随机整数...
答:按照你的要求编写的生成5个不重复随机数并存入数组的Java程序如下 public class A { public static void main(String[] args) { int a[]=new int[5];for(int i=0;i<5;i++){ a[i]=(int)(Math.random()*10)+1;for(int j=0;j<i;j++){ if(a[i]==a[j]){ a[i]=0;i=i-...

怎样用Java实现1到10 的随机数,并对他有序排列
答:public static void main(String args[]) { int a[] = new int[10];for (int i = 0; i <= 5; i++) { a[i] = (int) (Math.random() * 10);//这个地方不能写成(int)Math.random()这是最大的错误 //其他地方乱七八糟的,我就自己写了 } for (int i = 0; i < 5;)...

java中怎么实现产生1到10之间的5个随机数,我的程序怎么不对啊?_百度...
答:其实生成随机数有很简单的方法的就是使用java.util.Random API简单易学 Random random = new Random();for (int i = 0; i < 5; i++) { System.out.println(random.nextInt(10));} 这样就产生了5个随机数了 你那个循环的逻辑有问题,具体我也没有细看,是循环条件的问题吧 ...

java从1-100随机提取10个不重复值,怎么编程啊?
答:int i=0;//计数器 指示当前要填加到的数组下标,并指示当前已经添加了几个数 boolean b;//判断是否重复的辅助变量 while(i<10){ //生成一个随机数 int j = (int)(Math.random()*100+1);//将辅助变量设置为true 表示可以添加到数组 b = true;//循环判断是否重复 for(int n=0;n<i;n...

java用do { }while怎么求1~10内循环的随机数
答:Math.Random()表示的是0-1之间的数,1-10之间的随机数表示:(int)Math.Random()+1 用do-while表示:do{ int x = (int)Math.Random()+1;System.out.print("随机数是:"+x);}while(true)

java如何产生1-8的整数随机数?
答:Java产生随机数的两种方式 1、通过Math.random()方法返回一个0到1之间的double值。 2、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。Math.random()方法 Math.random()方法是 Java 的一个静态方法,返回一个0到1之间,前闭后开区间的double值。(int)(Math.random()*10...