import java.util.Scanner; | ||
2 | ||
3 | public class Guestgame { | |
4 | public static void main(String[] args) { | |
5 | //定义全局变量,username玩家参与名字,plan_price系统产生的价格 | |
6 | String username; | |
7 | //float类型赋初值尾部一定要加上f,不然小数会报错 | |
8 | float plan_price=0.00f; | |
9 | //定义菜单 | |
10 | System.out.println("----------------------------"); | |
11 | System.out.println(" 游戏: 幸运价格猜猜猜"); | |
12 | System.out.println(" 作者:Srymaker"); | |
13 | System.out.println(" 版本:v1.0"); | |
14 | System.out.println("----------------------------"); | |
15 | //显示欢迎界面,当用户敲入回车,进入用户的用户名输入 | |
16 | //这里的回车需要Scanner | |
17 | Scanner scanner = new Scanner(System.in); | |
18 | //先接收回车,在这步用户敲任何数据都不接收,这句没有接收,原因用户敲任何内容不需要保存 | |
19 | scanner.nextLine(); | |
20 | //敲入回车后,才开始进行游戏的进行,输入用户名 | |
21 | System.out.println("请输入用户名字"); | |
22 | //这里username全局变量是需要接收的 | |
23 | username=scanner.next(); | |
24 | //接收完之后 | |
25 | System.out.println(username+",欢迎进入游戏空间,现在请选择的价格猜猜猜商品的类别"); | |
26 | //输出类别 | |
27 | System.out.println("***********************"); | |
28 | System.out.println("1------家电(1000-2000)"); | |
29 | System.out.println("2------文具(1-100)"); | |
30 | System.out.println("***********************"); | |
31 | //接收用户输入1或2,防止用户输入其它内容报错,这里不用nextInt,还使用next | |
32 | String user_choice=scanner.next(); | |
33 | //用户的user_choice内容输入后,只有1和2进行响应,其它天马行空的价格 | |
34 | //条件语句有确定值用switch | |
35 | switch(user_choice){ | |
36 | case "1": | |
37 | plan_price=Math.round(Math.random()*1000+1000); | |
38 | break; | |
39 | case "2": | |
40 | plan_price=Math.round(Math.random()*99+1); | |
41 | break; | |
42 | default: | |
43 | plan_price=Math.round(Math.random()*10000); | |
44 | } | |
45 | //做用户输入价格的提示 | |
46 | System.out.println("请用户输入猜猜猜的价格:"); | |
47 | //用户猜数字,输入价格和判断是重复的步骤,while猜对,还有一个变量用户输入价格 | |
48 | float user_price=scanner.nextFloat(); | |
49 | //设定一个最终输出不同信息的标志位 | |
50 | boolean flag=false; | |
51 | //考虑一下,用户在while没有出来过,做一个规定,如果用户输入0或者负数,直接退出猜价格 | |
52 | while(!(user_price==plan_price)){ | |
53 | //进入到循环中,如果用户输入0或者负数,直接退出循环 | |
54 | //这里的user_price是一个区间段,只能用if | |
55 | if(user_price<=0) { | |
56 | //没有完成,放弃了,flag=true | |
57 | flag=true; | |
58 | //退出循环程序使用break | |
59 | break; | |
60 | } | |
61 | //进入循环的条件没有等于,else中的意义:除了大于就是小于 | |
62 | if(user_price>plan_price){ | |
63 | System.out.println("猜大了"); | |
64 | }else{ | |
65 | System.out.println("猜小了"); | |
66 | } | |
67 | //循环继续猜 | |
68 | user_price=scanner.nextFloat(); | |
69 | } | |
70 | //最后输出用户到底是猜出来的还是没有猜出来的,猜出来的输出“你真聪明”,猜不出来“再接再励”。 | |
71 | if(flag){ | |
72 | System.out.println("再接再励"); | |
73 | }else{ | |
74 | System.out.println("你真聪明"); | |
75 | } | |
76 | //程序最后往往会留下一些建议内容 | |
77 | System.out.println("对本系统的使用有什么宝贵意见,可以联系作者"); | |
78 | ||
79 | } | |
80 | } |
猜数字游戏
最新推荐文章于 2024-10-01 18:51:18 发布