鱼C论坛

 找回密码
 立即注册
查看: 4267|回复: 5

[已解决]java制作数字炸弹游戏---萌新疑点

[复制链接]
发表于 2021-1-4 11:46:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想制作一个可以让用户自己选择决定是否加入游戏的判断语句,想通过equals的方式实现,但是好像出现问题了,设置了String后运行,能运行但是报错,刚起步学习java,不知道如何实现。求指导,谢谢。
import java.util.Scanner;
import java.lang.Object;
public class GuessNumber01 {
        public static void main(String[] args){
                Scanner sc = new Scanner(System.in);
                System.out.println("你做好准备了吗?");
                int over = ((int)(Math.random())*100);
                int min = 0,max = 100,temp;
                String y = sc.next();
                y = "yes";
                String n = sc.next();
                n = "no";
                while(true){
                        if(y.equals("")){
                                System.out.println("游戏开始,请输入一个你认为炸弹存在的数:");
                                while(true){
                                        temp = sc.nextInt();
                                        if(temp>over){
                                                if(temp>max){
                                                        System.out.println("你输入的数太大了!请继续输入你认为存在的数:");
                                                }else{
                                                        max = temp;
                                                }
                                                System.out.println("当前的数字区间在:"+min+"---"+max);
                                                System.out.println("请继续输入你认为存在的数:");
                                        }else if(temp<over){
                                                if(temp<min){
                                                        System.out.println("你输入的数太小了!请继续输入你认为存在的数:");
                                                }else{
                                                        min = temp;
                                                }
                                                System.out.println("当前的数字区间在:"+min+"---"+max);
                                                System.out.println("请继续输入你认为存在的数:");
                                        }else{
                                                System.out.println("恭喜猜中了!!!");
                                                break;
                                        }
                                }
                        }else if(n.equals("no")){
                                System.out.println("那好吧,等你做好准备再来吧。");
                                break;
                        }else{
                                System.out.println("请根据提示输入!!");
                        }
                }
        }
}
最佳答案
2021-1-4 12:17:00
import java.util.Scanner;

public class Demo
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("你做好准备了吗?");
        int over = (int) ((Math.random()) * 100);
        System.out.println(over);
        int min = 0, max = 100, temp;
        String y = sc.next();
        while (true)
        {
            if (y.equals("yes"))
            {
                System.out.println("游戏开始,请输入一个你认为炸弹存在的数:");
                while (true)
                {
                    temp = sc.nextInt();
                    if (temp > over)
                    {
                        if (temp > max)
                        {
                            System.out.println("你输入的数太大了!请继续输入你认为存在的数:");
                        }
                        else
                        {
                            max = temp;
                        }
                        System.out.println("当前的数字区间在:" + min + "---" + max);
                        System.out.println("请继续输入你认为存在的数:");
                    }
                    else if (temp < over)
                    {
                        if (temp < min)
                        {
                            System.out.println("你输入的数太小了!请继续输入你认为存在的数:");
                        }
                        else
                        {
                            min = temp;
                        }
                        System.out.println("当前的数字区间在:" + min + "---" + max);
                        System.out.println("请继续输入你认为存在的数:");
                    }
                    else
                    {
                        System.out.println("恭喜猜中了!!!");
                        System.out.println("还要在猜吗?(yes/no)?");
                        y = sc.next();
                        if (y.equals("yes"))
                        {
                            over = (int) ((Math.random()) * 100);
                            System.out.println(over);
                            continue;
                        }
                        else if (y.equals("no"))
                        {
                            break;
                        }



                    }
                }
            }
            else if (y.equals("no"))
            {
                System.out.println("那好吧,等你做好准备再来吧。");
                break;
            }
            else
            {
                System.out.println("请根据提示输入!!");
                y = sc.next();
            }
        }
        sc.close();
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-4 12:17:00 | 显示全部楼层    本楼为最佳答案   
import java.util.Scanner;

public class Demo
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("你做好准备了吗?");
        int over = (int) ((Math.random()) * 100);
        System.out.println(over);
        int min = 0, max = 100, temp;
        String y = sc.next();
        while (true)
        {
            if (y.equals("yes"))
            {
                System.out.println("游戏开始,请输入一个你认为炸弹存在的数:");
                while (true)
                {
                    temp = sc.nextInt();
                    if (temp > over)
                    {
                        if (temp > max)
                        {
                            System.out.println("你输入的数太大了!请继续输入你认为存在的数:");
                        }
                        else
                        {
                            max = temp;
                        }
                        System.out.println("当前的数字区间在:" + min + "---" + max);
                        System.out.println("请继续输入你认为存在的数:");
                    }
                    else if (temp < over)
                    {
                        if (temp < min)
                        {
                            System.out.println("你输入的数太小了!请继续输入你认为存在的数:");
                        }
                        else
                        {
                            min = temp;
                        }
                        System.out.println("当前的数字区间在:" + min + "---" + max);
                        System.out.println("请继续输入你认为存在的数:");
                    }
                    else
                    {
                        System.out.println("恭喜猜中了!!!");
                        System.out.println("还要在猜吗?(yes/no)?");
                        y = sc.next();
                        if (y.equals("yes"))
                        {
                            over = (int) ((Math.random()) * 100);
                            System.out.println(over);
                            continue;
                        }
                        else if (y.equals("no"))
                        {
                            break;
                        }



                    }
                }
            }
            else if (y.equals("no"))
            {
                System.out.println("那好吧,等你做好准备再来吧。");
                break;
            }
            else
            {
                System.out.println("请根据提示输入!!");
                y = sc.next();
            }
        }
        sc.close();
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 13:16:03 | 显示全部楼层
wuliangtdi 发表于 2021-1-4 12:17
import java.util.Scanner;

public class Demo

大佬,能解释一下,我的代码哪里出问题吗?
然后,我刚刚在运行您的代码的时候会显示答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-4 15:28:16 From FishC Mobile | 显示全部楼层
因为我输出了over的值 把System.out.println(over);这一句给注释了就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-1-4 20:40:59 | 显示全部楼层
wuliangtdi 发表于 2021-1-4 15:28
因为我输出了over的值 把System.out.println(over);这一句给注释了就好了

oh,我看到了,我才发现,原来我的代码中多了String n = sc.next();以及一些定义
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 20:41:32 | 显示全部楼层
wuliangtdi 发表于 2021-1-4 15:28
因为我输出了over的值 把System.out.println(over);这一句给注释了就好了

感谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 21:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表