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");
}
}
在猜价格基础上进行优化
最新推荐文章于 2024-11-04 22:26:34 发布