inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

나도코딩의 자바 기본편 - 풀코스 (20시간)

HashMap 내 \t 출력에 문제가 있습니다.

215

subiru5

작성한 질문수 1

0

안녕하세요, 해시맵 부분 수강하던 중 강사님과 다르게 출력되는 부분이 있어 문의드립니다.

아래 코드를 출력한 결과 제 화면에서는 \t 만큼 띄워지지 않고, key와 포인트 부분이 한 칸(스페이스바 하나)만 띄워서 출력됩니다. 강사님이 올려주신 파일로 실행을 해도 문제가 해결되지 않습니다.

일반 sout 문에서는 문제없이 \t를 사용할 수 있는데, 아래 코드에서만 제대로 출력되지 않는 것 같습니다.

읽어주셔서 감사합니다.

        // Key & Value 함께 확인
        for (String key : map.keySet()) {
            System.out.println("고객 이름 : " + key + "\t포인트 : " + map.get(key));
        }
        System.out.println("------------------------");

객체지향 java oop

답변 1

0

나도코딩

안녕하세요?
학습하시는 환경이 Mac 이신가요?
지금 답변을 작성하고 있는 윈도우 PC 환경 기준으로 설명을 드리면, 키보드에서 탭을 입력했을 때 현재 커서 위치로부터 4칸을 띄우는 것은 아니고 앞의 문자들을 포함하여 4칸의 공간 내에서 띄어쓰기 처리가 됩니다.
탭 동작에 대한 이해를 돕기 위해 아래와 같이 코드를 작성해봤어요.

System.out.println("\t9");
System.out.println("1\t9");
System.out.println("12\t9");
System.out.println("123\t9");
System.out.println("1234\t9");
System.out.println("12345\t9");
System.out.println("123456\t9");
System.out.println("1234567\t9");
System.out.println("12345678\t9");

이를 실행해보면 결과는 이렇습니다.
(※ PC 에서 입력하는 탭은 8칸인데 IntelliJ 에서는 기본 4칸으로 처리되고 있어서 텍스트가 아닌 이미지로 가져왔습니다)
image
(1번째 문장) : ....9
4칸을 띄운 뒤에 9를 적습니다.

(2번째 문장) : 1...9
4칸 중에서 1이 차지하고 있는 1칸을 제외한 나머지 3칸을 띄운 뒤에 9를 적습니다.

(3번째 문장) : 12..9
4칸 중에서 12가 차지하고 있는 2칸을 제외한 나머지 2칸을 띄운 뒤에 9를 적습니다.

(4번째 문장) : 123.9
4칸 중에서 123이 차지하고 있는 3칸을 제외한 나머지 1칸을 띄운 뒤에 9를 적습니다.

(5번째 문장) : 1234....9
앞의 4칸은 이미 1234 가 차지하고 있으므로, 그 이후부터 시작되는 새로운 4칸을 띄운 뒤에 9를 적습니다.

(6번째 문장) : 12345...9
앞의 4칸은 이미 1234 가 차지하고 있으므로, 그 이후부터 시작되는 새로운 4칸 중에서 1이 차지하고 있는 1칸을 제외한 나머지 3칸을 띄운 뒤에 9를 적습니다.

...

이후 과정도 동일한 형태로 진행됩니다.

만약 Mac 에서 학습하고 계시다면 한글을 표현하는 데 일부 차이가 있을 수 있습니다. 탭의 동작을 올바로 확인하기 위해서는 아래와 같이 '포인트' 글자 앞에 \t 를 하나 더 붙여서 \t\t 로 변경 후 실행해보시면 뚜렷한 차이를 확인하실 수 있을거예요 😊

// Key & Value 함께 확인
for (String key : map.keySet()) {
    System.out.println("고객 이름 : " + key + "\t\t포인트 : " + map.get(key));
}
System.out.println("------------------------");

감사합니다.

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

1

146

2

static이 뭐였는지 기억이 안나요 ㅜㅜ

0

119

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

72

1

사고력 키우는 법이 어떤게 있나요?

0

94

2

getter setter

0

103

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

80

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

76

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

115

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

167

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

117

2

응용이 어렵습니다.

0

206

2

IntelliJ가 보이지 않습니다.

0

187

3

JDK 버전 문의

0

130

2

BlackBox 파일 내에서 메소드 정의

0

136

1

동기화

0

123

2

Iterator 문의

0

105

1

코드 순서 문의

0

143

1

클래스 메소드

0

150

2

Quiz_05 관련 질문드립니다 !

0

118

2

다운로드가 안됩니다

0

165

2

다형성

0

120

2

HashMap

0

81

2