본문 바로가기
TIL & WIL

[TIL] #37. 231020

by mmm- 2023. 10. 20.

어제 목표 & 오늘 완료한 한 일 

  • 알고리즘 문제
  • 자바 개인과제 → 진행중
  • 자바 종합 강의 복습 (2주차)  → 진행중


내일 목표

  • 알고리즘 문제
  • 자바 개인과제

 

발생한 문제와 해결

1️⃣ 문자열 길이 상관없이 공백을 채우기 위해 코드를 수정하다가 

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '1'

이와 같은 에러가 발생했다. 에러가 발생한 이유는 format메서드 안에 올바르지 않은 방법으로 코드를 작성해서 그런 것이었다. 예를 들면 아래와 같이..(코드 일부분)

String.format("%d. %s%10 | %s", mainMenu.getNumber(), mainMenu.getName(), mainMenu.getExplanation())

getName을 기준으로 오른쪽으로 공백값을 10만큼 주고 싶어서 위와 같이 작성한 것이었는데, 정상적으로 동작하게 하기위해서는 아래와 같이 코드를 작성해주면 된다.

String.format("%d. %-10s | %s", mainMenu.getNumber(), mainMenu.getName(), mainMenu.getExplanation())

-는 오른쪽에서부터 공백을 주겠다는 것을 의미하고, 10은 원하는 숫자로 바꾸는 것이 가능하고, 문자열의 최소길이를 이야기한다고 한다.(https://adjh54.tistory.com/134)

 

느낀점

알고리즘 문제를 풀면서 sorted()를 통해 문자열을 정렬된 리스트로 변환할 수 있다는 것과 reverse=True를 정렬관련 메서드 안에 넣어줄 경우 내림차순으로 정렬 가능하다는 것을 알게되었다,

오늘 알고리즘 특강을 들었는데 나는 여태까지 너무 코드 길이를 줄이는 데만 집중을 했던 것 같다.

그리고 오늘 튜터님과 면담도 했다. 면담때 나누었던 이야기로 인해 관련하여 여러가지 공부를 할 뿐만 아니라 다른 사람의 코드가 나의 코드보다 어떤 점이 더 좋은 것 같은지 등도 더 세세하게 바라보고 생각해봐야겠다는 생각이 들었다.

개인과제를 하면서 문자열 길이 상관없이 공백을 채우는 방법을 찾다가 String.format()으로 할 수 있다는 것을 알았다.

 

'TIL & WIL' 카테고리의 다른 글

[TIL] #39. 231022  (1) 2023.10.22
[TIL] #38. 231021  (0) 2023.10.21
[TIL] #36. 231019  (0) 2023.10.19
[TIL] #35. 231018  (0) 2023.10.19
[TIL] #34. 231017  (0) 2023.10.17