WarSir 发表于 2021-1-4 11:46:37

java制作数字炸弹游戏---萌新疑点

我想制作一个可以让用户自己选择决定是否加入游戏的判断语句,想通过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("请根据提示输入!!");
                        }
                }
        }
}

wuliangtdi 发表于 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();
    }
}

WarSir 发表于 2021-1-4 13:16:03

wuliangtdi 发表于 2021-1-4 12:17
import java.util.Scanner;

public class Demo


大佬,能解释一下,我的代码哪里出问题吗?
然后,我刚刚在运行您的代码的时候会显示答案。

wuliangtdi 发表于 2021-1-4 15:28:16

因为我输出了over的值 把System.out.println(over);这一句给注释了就好了

WarSir 发表于 2021-1-4 20:40:59

wuliangtdi 发表于 2021-1-4 15:28
因为我输出了over的值 把System.out.println(over);这一句给注释了就好了

oh,我看到了,我才发现,原来我的代码中多了String n = sc.next();以及一些定义

WarSir 发表于 2021-1-4 20:41:32

wuliangtdi 发表于 2021-1-4 15:28
因为我输出了over的值 把System.out.println(over);这一句给注释了就好了

感谢!!
页: [1]
查看完整版本: java制作数字炸弹游戏---萌新疑点