TIL:) 문자열 형식 지정

😃 Today I Leaned

  • 키오스크 만들기 (수정)_

키오스크 만들기

https://github.com/kimnahyeong2/kiosk

 

GitHub - kimnahyeong2/kiosk

Contribute to kimnahyeong2/kiosk development by creating an account on GitHub.

github.com


⭐알게 된 점⭐

문자열 형식 지정

- 메뉴판을 출력할 때 출력되는 간격을 직접 스페이스바를 이용해 맞췄었는데

  더 간편한 방법으로 맞출 수 있는 방법을 알아보았다.

System.out.printf("%s. %-15s | %s\n",(i + 1),mainMenu.get(i).getName(), mainMenu.get(i).getExplain());

- 영어는 format method를 쓰지 않아도 위와 같은 형식으로 공백을 줄 수 있다.

- %-15s : 15는 차지하는 공간의 수, -는 왼쪽정렬을 의미한다.(-를 쓰지 않을 경우 오른쪽 정렬이 된다)

- 하지만 한글은 영어와 달리 format 메서드를 사용해야했다.

System.out.printf((i+1) + ". " + convert(productMenu.get(i).getName(), 35) + " | ");

- 정석 코드는 위와 다르고 살짝 변형을 했다.

- 원래는 String formatter = String.format("%%%ds", size-getKorCnt(word)) 였다.

- %%%ds를 사용할 경우 => %%가 %로 변경되어 %%ds가 된다. 여기서 %d는 ,뒤에 있는 값이 들어간다.

- 왼쪽 정렬을 하고 싶었지만 %%%ds를 이용할 경우 -를 붙일 수 없었기 때문에

  %d에 해당하는 변수를 따로 만들어 미리 왼쪽 정렬을 해주었다. 


🐰 END

나의 코드는 메서드들이 길어 한눈에 해석하기가 어렵다.

코드리뷰를 하면서 메서드는 길지 않게 짧게 쓰는 것이 중요하다는 것을 알게되었다.

주말동안 메서드를 쪼개는 작업을 할 예정이다!

BELATED ARTICLES

more