猜谜游戏的Java代码不打印任何内容

标签 java

所以我在学校有一门计算机科学类(class),我们在其中学习 Java。我们被分配做一个简单的基于文本的猜谜游戏。到目前为止我已经完成了,但我似乎无法找到我搞砸的地方,因为当我运行核心时没有打印任何内容。

这是代码:

    public class GuessGame 
{
  public static void main(String[] args) 
  { 
    new GuessGame();
  }  
  public GuessGame () 
  { 
    char end = 'y';
    while (end!='y')
    {
      System.out.println ("Welcome to the Guessing Game!");
      System.out.println ("\nThe computer has picked a number");
      System.out.println ("between 1 and 100. Try to guess it.");
      int num = (int)(Math.random()*(100-1)+1);
      int guess = IBIO.inputInt ("Guess the number: ");
      if (guess==num)
        System.out.println ("You got it!");
      else if (guess>num)
        System.out.println ("That is too high.");
      else
        System.out.println ("That is too low.");
      end = IBIO.inputChar ("Exit game? (y/n)");
    }
  }
}

顺便说一下,IBIO 是我的 IB 程序提供的一个类,我们用它来制作输入/输出语句。

这是 IBIO.java:

    public class IBIO
{
    static void output (String info)
    {
 System.out.println (info);
    }


    static void output (char info)
    {
 System.out.println (info);
    }


    static void output (byte info)
    {
 System.out.println (info);
    }


    static void output (int info)
    {
 System.out.println (info);
    }


    static void output (long info)
    {
 System.out.println (info);
    }


    static void output (double info)
    {
 System.out.println (info);
    }


    static void output (boolean info)
    {
 System.out.println (info);
    }


    static String input (String prompt)
    {
 String inputLine = "";
 System.out.print (prompt);
 try
 {
     inputLine = (new java.io.BufferedReader (new java.io.InputStreamReader (System.in))).readLine ();
 }
 catch (Exception e)
 {
     String err = e.toString ();
     System.out.println (err);
     inputLine = "";
 }
 return inputLine;
    }


    static String inputString (String prompt)
    {
 return input (prompt);
    }


    static String input ()
    {
 return input ("");
    }


    static int inputInt ()
    {
 return inputInt ("");
    }


    static double inputDouble ()
    {
 return inputDouble ("");
    }


    static char inputChar (String prompt)
    {
 char result = (char) 0;
 try
 {
     result = input (prompt).charAt (0);
 }
 catch (Exception e)
 {
     result = (char) 0;
 }
 return result;
    }


    static byte inputByte (String prompt)
    {
 byte result = 0;
 try
 {
     result = Byte.valueOf (input (prompt).trim ()).byteValue ();
 }
 catch (Exception e)
 {
     result = 0;
 }
 return result;
    }


    static int inputInt (String prompt)
    {
 int result = 0;
 try
 {
     result = Integer.valueOf (input (prompt).trim ()).intValue ();
 }
 catch (Exception e)
 {
     result = 0;
 }
 return result;
    }


    static long inputLong (String prompt)
    {
 long result = 0;
 try
 {
     result = Long.valueOf (input (prompt).trim ()).longValue ();
 }
 catch (Exception e)
 {
     result = 0;
 }
 return result;
    }


    static double inputDouble (String prompt)
    {
 double result = 0;
 try
 {
     result = Double.valueOf (input (prompt).trim ()).doubleValue ();
 }
 catch (Exception e)
 {
     result = 0;
 }
 return result;
    }


    static boolean inputBoolean (String prompt)
    {
 boolean result = false;
 try
 {
     result = Boolean.valueOf (input (prompt).trim ()).booleanValue ();
 }
 catch (Exception e)
 {
     result = false;
 }
 return result;
    }
}

很抱歉问了这么长的问题。我是 Java 新手。

最佳答案

计算机正在按照您的指示进行操作。当 GuessGame 的构造函数运行时:

  1. end 声明为 char 局部变量并将其初始化为包含 'y':

    char end = 'y';
    
  2. end 不包含 'y' 时运行循环体:

    while (end!='y')
    

    (因为 end 确实包含'y',所以它运行循环体;它跳到循环后的代码)。

关于猜谜游戏的Java代码不打印任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29000103/

相关文章:

java - ReSTLet 的 GET POST DELETE 方法路由到同一函数

java - 如何同时打印到文件和显示器?

java - Spring Transactional 注释,隔离不适用于 READ_UNCOMMITTED

java - 类层次解决方案

java - 如何通过 Hibernate 对数据库列的任何读/写访问调用 Java 方法

java - 在java游戏中获取用户输入

java - 从java应用程序调用c++库

java - 如何使这个 java 内存泄漏的 junit 测试通过?

java - Gradle找不到tools.jar

java - 项目不会停止在 NetBeans 上运行