使用一个循环从键盘输入数据,和产生的随机数比较大小并提示,循环结束为猜中随机数。
1.首先导入random包
2.定义两变量
3.实例化一个random的对象ne
4.开始为两变量赋随机值
5.输出
6.结果
7.再运行一次
8.再点击运行一次
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);
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();
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()。
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);
}