java基础综合案例

猜数字游戏

游戏逻辑系统产生一个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;//每错一次减三分
        }

    }
}

 

posted @ 2022-03-25 21:45  涐啝雨の約定  阅读(28)  评论(0编辑  收藏  举报