java 使用Math.random()产生一个100以内的随机数;

如题所述

使用一个循环从键盘输入数据,和产生的随机数比较大小并提示,循环结束为猜中随机数。

1.首先导入random包

2.定义两变量

3.实例化一个random的对象ne

4.开始为两变量赋随机值

5.输出

6.结果

7.再运行一次

8.再点击运行一次

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-27

random产生的是[0,1)的小数。

如果想要产生50--100之间的数字;

先让它产生[0--50)之间的数字,也就是  random()*50

然后在后面加上51,也就是random()*50+51;

得到的就是[50--100]的整数了。

你可以这样写:

int num=(int)Math.random()*50+51;

System.out.println(num);

第2个回答  2018-09-21

java取随机数一般是用java.util包下的Random来取的。如下:

Random random = new Random();
// 0-99
int num = random.nextInt(100);

Math.random()生成的是double类型的随机数。看源码就会知道,Math.random()等价于new Random().nextDouble();//生成0-1之间的随机数。

private static final class RandomNumberGeneratorHolder {
    static final Random randomNumberGenerator = new Random();
}
...
public static double random() {
    return RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();
}

如果一定要使用Math.random()取,那可以这样:

double random = Math.random();
int num = new Double(Math.random() * 100).intValue();

第3个回答  2018-10-17

1)使用Java产生一个指定数x以内的随机数。

public static void main(String ...args) {
    int x=100; // 上界。
    
    java.util.Random random=new java.util.Random();
    // 返回0 to x的一个随机数但不会取到x,即返回[0,x)闭开区间的值。
    int rn=random.nextInt(x);
        
    System.out.println(rn);
}

2)使用Java产生一个指定区间x到y的随机数。

public static void main(String ...args) {
    int x=100; // 下界。
    int y=200; // 上界。
        
    java.util.Random random=new java.util.Random();
    // 返回x to y之间的一个随机数,不仅可以取到下界x还可以取到上界y,即返回[x,y]的闭区间。
    int rn=random.nextInt(y-x+1)+x;
        
    System.out.println(rn);
}

注:上面调用nextInt获取的是正整数,如果要获取浮点数可以调用nextFloat()。

第4个回答  2018-09-19

Math.random()会产生一个0到1之间的随机数,为浮点型,只需要将这个数再乘以一百,就是你要的数。

public static void main(String[] args) {
    double num = Math.random() * 100;
    System.out.println(num);
    // 如果需要是整数直接转成int型就可以了
    System.out.println((int) num);
}

相似回答