import java.io.PrintStream;
import java.util.Scanner;
public class OutputTest
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
PrintStream out = new PrintStream(System.out);
while(true)
{
int in = scan.nextInt();
if(in == 0) break;
System.out.println(in*in);
}
out.flush();
}
}
이 프로그램에서 행당 하나씩 숫자 목록을 가져오고 0에 도달하면 모든 사각형을 한 줄에 인쇄 할 것으로 기대합니다. 대신 사각형으로 입력하는 각 번호를 반향 출력합니다. 이상적으로Java : PrintStream 예기치 않게 자동 여백
, 실제로 라인을 포함 것 : 다음
System.setOut(out);
과 (마지막에 플러시 제외) 일반적으로 내 프로그램의 나머지 부분을 쓰기를, 그러나 이것은 바로 메아리의 같은 결과를했습니다 .
그러나, 그러나 나는 System.setOut
PrintWriter
때문에 할 수 없습니다하는 PrintWriter
에 PrintStream
예상대로이 일을했던 변경하면 OutputStream
를 확장하지 않습니다.
내가 예상 한대로 작동하지 않는 이유는 무엇입니까?
무작위 코멘트 : Scanner.nextInt()는 위의 코드에서 잘 작동 할 수 있습니다. – jozefg
코드의 들여 쓰기를 수정해야 할 수도 있습니다. – Sujay
@jozefg 감사합니다. 그 방법이 존재한다는 사실을 잊어 버렸습니다. – Retsam