繁体   English   中英

使用PrintWriter打印字符串

[英]Printing strings using PrintWriter

尝试使用PrintWriter进行打印时遇到问题。

问题描述:

我期望先打印Press选项,然后接受用户输入,但是使用out.println我无法做到这一点。 我运行程序时没有打印选项。 它只是等待输入,而我给它输入,然后打印Press选项。

注意: 如果我使用System.out.println那么它将按预期工作。

尝试如下

public class Calculator {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out =  new PrintWriter(new OutputStreamWriter(System.out));
        StringTokenizer took = new StringTokenizer(" ");
        String operator;
//            System.out.println("Press '+' for Additon");
//            System.out.println("Press '-' for Subtraction");
//            System.out.println("Press '*' for multiplication");
        out.println("Press '+' for Additon");
        out.println("Press '-' for Subtraction");
        out.println("Press '*' for multiplication");
        out.println("Press '/' for Division");

        operator=in.readLine();
        switch (operator) {
            case "+":
                out.println("Add");
                break;
            case "-":
                out.println("Subtract");
                break;
            case "*":
                out.println("Multiply");;
                break;
            case "/":
                out.println("Division");
                break;
        }
        in.close();
        out.close();
    }
}

输入:

*

输出:

Press '+' for Additon
Press '-' for Subtraction
Press '*' for multiplication
Press '/' for Division

Multiply

做:

out.flush();

在您阅读,然后关闭前out

或者,您可以执行以下操作:

PrintWriter out =  new PrintWriter(new OutputStreamWriter(System.out), true);

true作用是将其设置为在每次打印时自动刷新。

建议复查PrintWriter的Javadoc。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM