代码如下: import java.util.Scanner; public class test_guest{ 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.0"); 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("***********************"); //接收用户输入1或2,防止用户输入其它内容报错,这里不用nextInt,还使用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或者负数,直接退出猜价格 while(!(user_price==plan_price)){ //进入到循环中,如果用户输入0或者负数,直接退出循环 //这里的user_price是一个区间段,只能用if if(user_price<=0) { //没有完成,放弃了,flag=true flag=true; //退出循环程序使用break break; } //进入循环的条件没有等于,else中的意义:除了大于就是小于 if(user_price>plan_price){ System.out.println("猜大了"); }else{ System.out.println("猜小了"); } //循环继续猜 user_price=scanner.nextFloat(); } //最后输出用户到底是猜出来的还是没有猜出来的,猜出来的输出“你真聪明”,猜不出来“再接再励”。 if(flag){ System.out.println("再接再励"); }else{ System.out.println("你真聪明"); } //程序最后往往会留下一些建议内容 System.out.println("对本系统的使用有什么宝贵意见,可以联系作者或者email"); } }
执行结果如下: