猜数字小游戏:系统产生一个0-100内的随机整数,用户输入数字猜!如果猜打了提示猜大了,如果猜小了则提示猜了,如果猜对了,则打印所有才分数和次数。如果用户中途推出,则输入-1满分为100分,每猜一次扣3分。
public class Guessing {
public static void main(String[] args) {
int rand = (int) (Math.random() * 100);
//产生一个0-100的随机数
int i;
int count = 0;
int grades = 100;
//用户输入的数字存入这个变量i里面
//次数为count,初始值为0;分数为grades,初始值为100
int max = 100, min = 0;
//用一个区间min--max记录用户的数值,
//如果用户输入的值比随机数小,则把用户输入的值赋值给min,如果大了就赋值给max
//确保随机数在min-max区间内
Scanner sc = new Scanner(System.in);
while (true) {//死循环,用户猜对了就break退出
System.out.println("请输入要猜的数字:");
i = sc.nextInt();
if (i == -1) {
System.out.println("退出成功");
break;
}
count++;//每循环一次,cont就加一次
if (rand == i) {
System.out.println("共猜了" + count + "次,分数为" + grades + "分");
break;
} else if (rand > i) {
min = i;//当随机数rand大于用户输入的i时,则把i赋值给min,范围就是(min)i-max
System.out.println("小了,范围为:" + min + "--" + max);
} else {
max = i;//当随机数rand大于用户输入的i时,则把i赋值给max,范围就是min-i(max)
System.out.println("大了,范围为:" + min + "--" + max);
}
grades = grades - 3;//每错一次减三分
}
}
}