編輯:請注意,下面的代碼是示例來顯示我想要做什麼。我真正的問題是,用Raphael Schweikert的話說,(如果可能的話)你可以檢查以前打印的輸出嗎?換句話說,可以在佔位符/*SOME TEST HERE*/
上進行哪些測試以確定System.out
的光標目前是否在新行的開始位置。有條件地終止當前行System.out.println
這可能是一個奇怪的問題。忍受着我。假設以下Java代碼:
public void method1() {
method2();
System.out.println("line1");
method2();
System.out.print("line2");
method2();
}
public void method2() {
System.out.println("method2");
}
OUTPUT when method1 called:
method2
line1
method2
line2method2
請注意,line2和method2打印輸出的最後一行出現在一行中。我想避免這種情況,但我也不希望在line1打印輸出後出現多餘的空行。所以,我希望重寫方法2如下:
public void method2() {
if (/* SOME TEST HERE */) {
System.out.println();
}
System.out.println("method2");
}
OUTPUT when method1 called:
method2
line1
method2
line2
method2
是否有可以在這裏完成,以實現這一目標的任何測試?
注意:請參閱頂部的編輯部分。
是關於你如何添加缺少的換行符對這種特殊情況下的問題或這是關於如何(如果可能的話),你可以檢查之前打印的一般問題輸出? –
第二個。這就是**所有**答案出錯的地方。 – ADTC
也這麼想!不幸的是,我很確定這是不可能的。就你的應用而言,發送的輸出是很好的。它被控制檯保留的事實是無關緊要的(可以找出一些本地API查詢包含的控制檯,但是必須特別針對所述控制檯的實現 - 如果可能的話)。你最好的選擇是使用自己的函數(或者自己的'PrintStream'實現),它會使用'System.out',但跟蹤最後發送的字符。 –