cordingbabo   1년 전

bw.write(""+cnt);

왜 요기서 앞에 ""을 안붙히면 이클립스에서도 특수문자로 출력되고, 

백준에서도 틀리다고 나올까요???

djm03178   1년 전

BufferedWriter.write(int)라는 것이 존재하기는 하지만 여기서의 int는 System.out.println에 int를 넘겨주는 것과는 의미가 전혀 다릅니다. 정수를 사람이 읽기 좋은 10진수의 형태로 출력해주는 것이 아니라, 그냥 한 글자의 값을 그대로 출력해주는 것입니다. 예를 들어 65라는 값을 10진수 형태로 출력하면 "65"가 출력되겠지만, 65라는 값 자체를 출력하면 65의 아스키 코드에 해당하는 문자인 'A'가 출력됩니다.

cordingbabo   1년 전

@djm03178 선생님 혹시 그렇다면, ""를 입력하지 않고서 int 값을 출력하는 방법이 있을까요??

djm03178   1년 전

그냥 아무것도 안 덧붙이고 출력하는 방법은 없고, ""를 쓰거나 아니면 더 귀찮은 타이핑을 해야 합니다. 예를 들면 Integer.toString을 쓸 수 있습니다.

https://ideone.com/Lprves

꼭 값만 넘겨주는 걸로 출력하고 싶다면 BufferedWriter를 상속받는 클래스를 만들어서 그런 메서드를 추가해도 되긴 합니다.

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