godqhrals   2년 전

안녕하세요. BufferedWriter를 이용해서 출력할 때 오류가 하나 있어서 여쭤보고자 질문을 올립니다.

원래 BufferedWriter를 활용해서 출력을 하는 방식으로 작성하고 있었는데, (출력 1이라고 주석을 달은 부분입니다) 나머지 부분들은 잘 출력이 되었으나 28번째 코드에서의 list.get(0) 값을 출력할 때 ㅁ/ (네모 안에 이런 / 대각선이 있는 문자)로 출력이 되어서 틀렸다고 나왔습니다.

그냥 System.out.print를 이용해서 출력하면 정상적으로 잘 출력되는데(출력 2라고 주석을 달은 부분입니다) 두 방법의 차이가 왜 발생하는건지 잘 모르겠습니다. bw.flush() 관련해서 연결리스트 값을 받아올 수 없는 것일까요..? 알려주시면 감사하겠습니다! 읽어주셔서 감사합니다.

djm03178   2년 전

System.out.print가 정수를 정수로 출력할 수 있는 이유는 print에 int를 인자로 받는 오버로딩이 있기 때문입니다. 이 오버로딩은 정수의 값을 해석하여 문자열의 형태로 변환하는 과정을 포함하고 있습니다.

BufferedWriter에도 int를 인자로 받는 오버로딩이 있으나 이것은 의미가 다릅니다. 이 오버로딩은 하나의 '문자'를 int형으로 받아 출력하는 것이기 때문에 정수의 값을 문자열의 형태로 출력하는 것과는 다릅니다.

godqhrals   2년 전

알려주셔서 감사합니다! 덕분에 잘 이해되었습니다! 좋은 하루 되세요!:)

댓글을 작성하려면 로그인해야 합니다.