import java.util.Random;//随机数导入
import java.util.Scanner;//scanner导入语句
Scanner e = new Scanner(System.in);
int a = (int) (Math.random() * 100 + 1);
System.err.println(a);//随机数产生于输出,可以注释掉。
while (true) {//条件为真,只是借用while的循环。
System.out.println("请你猜随机数有多大?");
int f = e.nextInt();
if (f > a) {
System.out.println("大了");
} else if (f < a) {
System.out.println("小了");
} else if (f == a) {
System.out.println("恭喜你,答对了");//条件判断三种情况
}
也可以将else if 放到循环语句外面,不过这个时候while的判断条件也要变为:f!=a的条件,而且还要给f一个初始值,也可以用do while ,先执行就不用给一个初始值了。
随机数还可以这样生成:
Random b = new Random();
int c = b.nextInt(101);
这里是101.不是100.
而且可以讲生成随机说的语句放到while循环语句里面。
这样没判断一次就产生一个随机说。看看你的运气是否能在一万次的机会之内大队一次。大家可以试一下。
另外我们平常去随机数都是0-10或者0-100等等。可是没有规律的取值区间随机数如何存取。
[min,max)Math.random() ---> [0,1)*10--->[0,10)
这是标准语法。
如果取22=<a<45。如何取得?
[22,45) [0,1)*23-->[0,23)---->[0,23)+22--->[22,45)
如此得到随意区间随机数的取值语法:
[min,max)(int)(Max,random()*(max-min)+min)
平常的写法省略的加零。直接乘以10,100,1000而已。
System.out.println((int)Math.random()*10+0);