猜一猜数字

网络视频中有很多猜数字得奖或者用蛋糕弄在脸上,此篇文章讲详细讲述其运行原理。

下面以选择猜物品价格为例,与双十一前的淘宝活动一样。

首先要给出一定猜取范围,在玩家输入自己所猜的数字时,系统自动的对比,然后给出答案,如果猜对,系统会结束运行,然后输出相对应的话。

如果猜的数字比系统的数字大,那就会报出,猜大了;反之,则报出,猜小了

具体流程如下:

首先要创建全局变量,username_name玩家参与的名字,plan_price系统产生的价格

其次要创建用户输入价格--user_name

如果是有多种可以猜的类型,可以用Switch语句进行选择,对于每一种类型赋上相对应的范围,以变随机出现的值在范围内。

其次是创建循环,在while循环中用if语句去判断输入值得大小。

如果猜的数字比系统的数字大,那就会报出,猜大了;反之,则报出,猜小了

也可以设置两个变量,控制范围,在if语句结尾加入变量的赋值,更容易得出结果。

以下是一个代码的流程:

  1. 显示菜单
  2. 选择物品类型:家电 文具
  3. 用户输入用户名,参与游戏
  4. 系统根据类别产生随机数
  5. 用户循环输入数字,每一个数字都判断大,小。
  6. 结束循环条件:用户猜对数字
import java.lang.invoke.SwitchPoint;
import java.util.Scanner;

public class Test_guest_price {
    public static void main(String[] args) {
        //定义全局变量,username玩家参与名字,plan_price系统产生价格
        String username;
        float plan_price=0.00f;
        //定义菜单
        System.out.println("---------------------");
        System.out.println("游戏:幸运价格猜猜");
        System.out.println("          作者:张");
        System.out.println("             版本:v1.0");
        System.out.println("----------------------");

        //显示欢迎界面,当用户回车,进入用户的用户名输入
        //这里的回车需要Scanner
        Scanner scanner = new Scanner(System.in);
        //先接收回车,在这部用户桥任何数据都不接收,这句没有接收,原因用户敲任何内容不需要保持
        scanner.nextLine();
        //这里username全局变量是需要接收的
        System.out.println("请用户输入名字");
        //这里username全局变量是需要接收的
        username = scanner.next();
        //接收完之后
        System.out.println(username + "欢迎进入游戏空间,现在请选择的价格猜猜猜商品的累别");
        //输出类别
        System.out.println("****************");
        System.out.println("1------家电");
        System.out.println("2------文具");
        System.out.println("****************");

        //接收用户输入1或2,放置用户输入其他内容报错,这里不用nextLnt,还是用next
        String user_choice=scanner.next();
        //用户的user_choice内容输入后,只有1和2进行响应
        //条件语句有确定值用switch
        switch (user_choice){
            case "1":
                plan_price=Math.round(Math.random()*1000+1000);
                break;
            case "2":
                plan_price=Math.round(Math.random()*99+1);
                break;
            default:
                plan_price=Math.round(Math.random()*10000);
        }
        System.out.println("请开始猜价格");
        //用户才数字,输入价格和判断是重复步骤,while才对,还有一个变量用户输入价格
        float user_price = scanner.nextFloat();
//设定一个最终输出不同信息的标志位
        boolean flag=false;
        //考虑一下,用户在while没有出来过,做一个规定,如果用户输入0或者负数直接退出猜价格

        //设置两个变量 price1,price2
        float price1=0;
        float price2=100;
        while (!(user_price == plan_price)){
            //进入到循环
            if (user_price<=0){
                //退出循环,用break
                flag=true;
                break;
            }


            //进入循环的条件没有等于,else中的意义,除了大于就是小于
            if (user_price>plan_price){
                System.out.println("猜大了");
                //赋值
                price2 = user_price;
//                price1 = user_price;
            }else {
                System.out.println("猜小了");
                //赋值
//                price2 = user_price;
                price1 = user_price;
            }
            System.out.println("价格在"+price1+"和"+price2+"之间");
            //循环继续猜
            user_price=scanner.nextFloat();
        }


        //最后输出用户到底是才出来还是没有猜出来
        if(flag){
            System.out.println("再接再厉");
        }else {
            System.out.println("你真聪明");
        }
        System.out.println("对此游戏有什么宝贵意见,可以联系作者。电话XXXXX");

        System.out.println("恭喜你,猜对了,此价格是"+plan_price);

    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从头开ぃ始176

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值