Java程序(价格猜猜猜(改进版))

改进的内容是在系统随机给出价格做出改进,可以使系统给出小数

switch(user_choice){
         case "1":
         //这里先产生一个临时的字符串,可以调用String.format,使用%.2f
         String tmp_price=String.format("%.2f",Math.random()*1000+1000);
       //之后再把tmp_price转化成float类型,不同类型之间转换调用类型的大写.parse类型
         plan_price=Float.parseFloat(tmp_price);
// System.out.println(plan_price);
         break;
        case "2":
         //先定义一个临时变量,格式化字符串两位小数
       tmp_price=String.format("%.2f",Math.random()*99+1);
         //再使用Float.parseFloat不同类型之间转化方法转化成float类型
         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);
         }

还有改进的地方是在用户输入价格后,对用户的输入做判断,matches("^[0-9]+(.[0-9]{1,2})?$")是正则表达式,[0-9]表示0-9数字出现任意一个,()是可选项,()里面的内容可以有也可以没有,{1,2}小数点后面的位数只能1位或者是2位。

//注意while里面匹配小数的正则,不匹配取非(!)
 while(!tmp_user_price.matches("^[0-9]+(.[0-9]{1,2})?$")){
       System.out.println("你输入的价格有问题,请检查输入价格:");
         tmp_user_price=scanner.next();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值