簡體   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