幸运价格猜猜猜

本文详细描述了一个Java程序,利用switch和while循环实现了一个猜价格的游戏。用户选择类别后,系统随机生成价格,用户反复输入猜测,直到猜对为止。文章涉及全局变量、条件判断和用户交互等技术点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

幸运价格猜猜猜

使用了选择分支结构中的switch语句

结构:

Switch(变量)

{

case变量的取值(整数,char,字符串):

break;当你执行完选项值后,就要退出,大部分情况结合break

default:相当于else

}

使用了While循环

While(条件){循环体}

猜价格

在后台,系统随机产生价格数字,由用户通过平台猜,猜出一个数字后,系统机器人通知你信息,大了,小了。再说一个数字,直到数字跟系统随机数字一致就游戏结束。

分析逻辑:

系统产生随机数字一次

用户猜

Input.next()

系统判断数字是大了,还是小了if

这里循环:next()输入语句需要循环,if判断需要循环

循环条件:当价格=系统产生的随机价格退出

循环:没有次数的说明,一般直接while循环

程序:完善(菜单--à提示--à参与)

流程:

  1. 显示菜单
  2. 选择物品类型:家电文具
  3. 用户输入用户名,参与游戏
  4. 系统根据类别产生随机数
  5. 用户循环输入数字,每一个数字都判断大,小。
  6. 结束循环条件:用户猜对数字

这里的价格用float型(两位小数)

分析全局变量

这里用户名需要程序开始和结束都要显示出来.

系统的随机数在程序中需要比较,这个随机数也是全局变量float

代码

import java.util.Scanner;

public class test_guest_price {

    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");

    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值