在猜价格基础上进行优化

import java.util.Scanner;
public class cjg {
    public static void main(String[] args) {
        //定义全局变量,username玩家参与名字,plan_price系统产生的价格
        String username;
        //float类型赋初值尾部一定要加上f,不然小数会报错
        float plan_price=0.00f;
        //定义菜单
        System.out.println("----------------------------");
        System.out.println(" 游戏: 幸运价格猜猜猜");
        System.out.println("                 作者:XXXXX");
        System.out.println("                 版本:v1.1");
        System.out.println("----------------------------");
        //显示欢迎界面,当用户敲入回车,进入用户的用户名输入
        //这里的回车需要Scanner
        Scanner scanner = new Scanner(System.in);
       
        scanner.nextLine();
        //敲入回车后,才开始进行游戏的进行,输入用户名
        System.out.println("请输入用户名字");
        //这里username全局变量是需要接收的
        username=scanner.next();
        //接收完之后
        System.out.println(username+",欢迎进入游戏空间,现在请选择的价格猜猜猜商品的类别");
        //输出类别
        System.out.println("***********************");
        System.out.println("1------家电(1000-2000)");
        System.out.println("2------文具(1-100)");
        System.out.println("***********************");
       
        String user_choice=scanner.next();
       
        switch(user_choice){
            case "1":
                
                String tmp_price=String.format("%.2f",Math.random()*1000+1000);
                /
                plan_price=Float.parseFloat(tmp_price);
//                System.out.println(plan_price);
                break;
            case "2":
             
                tmp_price=String.format("%.2f",Math.random()*99+1);
               
                plan_price=Float.parseFloat(tmp_price);
//                System.out.println(plan_price);
                break;
            default:
                //先定义一个临时变量,格式化字符串两位小数
                tmp_price=String.format("%.2f",Math.random()*10000);
                //再使用Float.parseFloat不同类型之间转化方法转化成float类型
                plan_price=Float.parseFloat(tmp_price);
        }
        //做用户输入价格的提示
        System.out.println("请用户输入猜猜猜的价格:");
        //用户猜数字,输入价格和判断是重复的步骤,while猜对,还有一个变量用户输入价格
//        float user_price=scanner.nextFloat();
        
        String tmp_user_price=scanner.next();
        //注意while里面匹配小数的正则,不匹配取非(!)
        while(!tmp_user_price.matches("^[0-9]+(.[0-9]{1,2})?$")){
            System.out.println("你输入的价格有问题,请检查输入价格:");
            tmp_user_price=scanner.next();
        }
        //直到输入正常退出循环
        float user_price=Float.parseFloat(tmp_user_price);
//       
//        if(){
//        }else{
//        }
        
        boolean flag=false;
        
        while(!(user_price==plan_price)){
           
            if(user_price<=0) {
                
                flag=true;
               
                break;
            }
      
            if(user_price>plan_price){
                System.out.println("猜大了");
            }else{
                System.out.println("猜小了");
            }
           
//            user_price=scanner.nextFloat();

            tmp_user_price=scanner.next();
           
            while(!tmp_user_price.matches("^[0-9]+(.[0-9]{1,2})?$")){
                System.out.println("你输入的价格有问题,请检查输入价格:");
                tmp_user_price=scanner.next();
            }

            user_price=Float.parseFloat(tmp_user_price);
        }

        if(flag){
            System.out.println("再接再励");
        }else{
            System.out.println("你真聪明");
        }

        System.out.println("对本系统的使用有什么宝贵意见,可以联系作者或者email");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值