Magical System.out.println(“提示”);不会显示输出

时间:2012-05-01 00:35:45

标签: java println

下面显示的代码是我正在创建的迷宫游戏的主要方法。 在这个主要方法中,我有一个while循环,一直持续到游戏结束。 在while循环中,我打印迷宫,然后询问用户他们想要移动角色的方向。 我有一个疯狂的问题,提示用户要求密钥,不会显示。 输出只打印迷宫,然后等待用户输入。

        do
        {               
            maze.printArray();              
            //Asks the user which direction they wish to move THIS LINE NEVER SHOWS UP!
            System.out.print ("Enter U,L,D,R to indicate move direction:   ");              
            //Gets the string from user, and changes it to a char, then converts it to an uppercase 
            direction = read.next().charAt(0);
            direction = Character.toUpperCase(direction);                   
            //Moves the character and increments the invalidMoves counter if the move was not legal
            if(maze.move(direction) == false)
                invalidMoves++;                 
            //Increment the move count regardless of its validity
            moves++;
        }
        while(maze.isFinished() == false);

这是在打印之前调用的printArray方法。

public void printArray() 
{
    for (char [] x : mazeArray) 
    {
        for (char y : x) 
        {
            //Print the characters for the row
            System.out.print (y);
        }           
        //linebreak to go to next row
        System.out.println ();
    }
    System.out.println ();
}

2D阵列保持迷宫图案,该图案显示在屏幕上

XXXXXXXXXX
XO-------X
XX-XXX-XXX
XX---X---X
XXXX-X-X-X
X----X-XXX
X-XXXX--$X
XXXXXXXXXX

3 个答案:

答案 0 :(得分:1)

System.out.flush();后尝试print()

答案 1 :(得分:1)

如果您的代码调用了System.setOut(printStream),则可以使用以下命令将其恢复为stdout:

System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));

如果在调用进程时将stdout重定向到某处,则可以使用以下命令指定自己的PrintStream:

System.setOut(new PrintStream(new FileOutputStream("out.txt")));

或者您可以直接写入PrintStream:

PrintStream ps = new PrintStream(new FileOutputStream("out.txt"));
ps.println("hi");

答案 2 :(得分:0)

尝试使用println代替print ...