⑴ 用java语言编写: 产生一个0到2之间的随机数,不限于整数!主要我是想要小数的。
import java.util.Random;
public class Test {
public static void main(String[] args) {
int a = (new Random()).nextInt(1000);
Double b = (double) (a/500.0);
System.out.println(b);
}
}
也不知道你要小数点后几位 你先看看这个 就应该有启发了
⑵ java 使用Math.random()产生一个100以内的随机数;
int val = (int)(Math.random()*100+1);
System.out.println(val); //第一种
Random r=new Random(); //第二种
int a;
a=1+r.nextInt(100);
System.out.println(a);
⑶ Java 随机数
a[i]=(int)Math.random()*10;
改成
a[i]=(int)(Math.random()*10);
⑷ 用JAVA编写一个程序,产生3个随机整数,并把其中的最小数输出
import java.util.* ;
public class Random01{
public static void main(String[] args){
Random r = new Random() ;
int arr[] = new int[3] ;
for(int i=0;i<3;i++){
arr[i] = r.nextInt(100) ;
System.out.println(arr[i]) ;
}
int min = arr[0] ;
System.out.print("最小数是:");
for(int j=0;j<3;j++){
if(arr[j]<min)
min = arr[j] ;
}
System.out.print(min) ;
}
}
⑸ java的两种产生随机数[0-2]
方法一不能产生数值为2的随机数,只能产生数值为0,1的随机数。
Math的public static double random()方法返回一个double值,该值大于等于 0.0且小于1.0。
因此(int)(Math.random()*2);中Math.random()*2的值是一个随机的大于等于0,小于2的double型的小数,强制转换成int后只能产生数字0,1,不能产生2。
假设要产生[min,max]范围的整数,可以使用以下公式:
(int)(Math.random()*(max-min+1))+min;
因此,要产生[0,2]可以使用int computer=(int)(Math.random()*3);。
方法二可以。
⑹ java的double类型随机数怎么保留小数点后两位 要求是不改变数据类型
一个简单的思路:
保留两位小数是需要四舍五入的,Math类中的round方法就是将double型转为long型:static long round(double a) ,遵循四舍五入的规则。
所以可以先让随机数乘以100,四舍五入后,再除以100,变为double型。
注意 m / n,必须 m 或者 n 是double型,结果才是double型。所以这里可以将分子强制转为double型:(double) Math.round(v * 100) 或者把分母100写为100.0都可以。
⑺ 在java中产生随机数
一、利用random方法来生成随机数。
在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的double型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数。
如我们可以先通过random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。然后再利用Int方法进行转换(它会去掉小数掉后面的数字,即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的random方法按照如下的格式进行变型:(int)(Math.Random()*10)即可。其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换成n即可,如改为(int)(Math.Random()*n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。如将n设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。在Java中定义自己的工具库
有时候程序员可能需要生成一个指定范围内的随机偶数或者奇数。此时是否可以通过这个方法来实现呢?答案是肯定的。如现在程序要需要生成一个1-100范围内的偶数。此时该如何实现?首先,需要生成一个0到99之内的随机数(至于这里为什么是99,大家耐心看下去就知道原因了)。要实现这个需求,很简单吧,只要通过如下语句就可以实现: i=1+(int)(Math.Random()*100)。其中(int)(Math.Random()*99)产生0到99的整数型随机数。然后再加上1就是产生1到100之间的随机整数。然后将产生的随机数赋值给变量i。但是此时其产生的随机数即有偶数,又有奇数。而现在程序员需要的是一个随机的偶数。那么我们可以在后面加上一个if判断语句。将这个随机数除以2,如果没有余数的话(或者余数为0)则表明这个随机数是偶数,直接返回即可。如果其返回的余数不为零,那么就表明其是奇数,我们只要加上1就变为了偶数,返回即可。注意,在上面的随机数生成中,笔者采用的范围是0到99,然后再加上1让其变为1到100的随机数。最后的结果就是生成1到100之间的随机偶数。其实,如果要范围随机奇数的话,至需要对上面的语句进行稍微的修改即可。Java:改变你我的世界
⑻ Java用Math.random()生成一个50-100间的整型随机数
Math类的random()方法可以生成[0,1)之间的随机浮点数。
double类型数据强制转换成int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失。
int b=(int)(Math.random()*10);//生成[0,9]之间的随机整数。
int temp=m+(int)(Math.random()*(n+1-m)); //生成从m到n的随机整数[m,n]
(8)java随机数小数扩展阅读:
用Math类的random()方法产生一个字符,若该字符是一个大写英文字母,则输入 “Yes!”,否则输出“NO”。
//产生一个[0,1)之间的随机数。
Math.random():
//返回指定范围的随机数(m-n之间)的公式:
Math.random()*(n-m)+m;
或者
Math.random()*(n+1-m)+m
⑼ 关于JAVA random随机数小数问题
你把得出的结果强制转换成整数不就行了,(long)(Math.floor(Math.random()*100000+414))
⑽ java 生成包含上下限的随机小数
我通常会使用
Math.random();
这个方法返回一个double, 取值是【0,1) 含前不含后
用这个加以变通,可以得到任何你想要的数值
(0,12】 这个稍微有点难,难点在于这里生成的数字 含后不含前
假如我简单的将 Math.random() *12; 得到的是 【0,12) 是0-12 含前不含后 的范围
所以想一步到位,确实有点难度
如果这是一个数学问题,我想从【0,12) 编成 (0,12】 会更加困难。
好在,计算机的数据表示是有位数限制的
比如你试着用 1-0.. 得到的会是1.
因为由于精度原因,其实计算机表示不了很精确的小数的
所以 假如给 【0,12) 加上一个计算机能表示的最小的小数,其实就能达到(0,12】的目的
比如说:
Math.random() + 0.000 000 000 000 0001;// 16位小数