[JAVA] 에러 발생 시, 손쉽게 재입력 받기(함수형 인터페이스)
·
JAVA/기타
0. 서론 우아한테크코스 과제 중 잘못된 입력 시 에러 발생 후 재입력을 받아야 하는 경우가 있었다. 단순히 그런 경우마다 try catch문을 이용해 해결하는 것보다 이 방법을 이용하면 손쉽게 재입력을 할 수 있게 된다. 1. 클래스 정의 import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; public class Repeat { public static T repeat(Supplier inputReader) { while (true) { try { return inputReader.get(); } catch (IllegalArgumentException e) { ..
[JAVA] 정규표현식(Regular Expression)
·
JAVA
0. 서론 가끔 입력받은 데이터의 입력 형식에 따른 유효성 검사가 필요한 경우가 있다. 이 때, 입력되어야 하는 형태가 일정하다면 정규표현식을 이용해 손쉽게 올바른 입력값만 걸러낼 수 있게 된다. 정규표현식은 특정 문자열의 규칙을 가지는 문자열의 집합을 표현하는 데 사용되는 언어를 의미한다. 1. 정규표현식 문법 1-1. 문자 클래스 문자 종류를 구분하는 데 사용한다. 정규식 패턴 설명 \w 문자만 허용 (영어와 숫자) \W 문자가 아닌 경우만 허용 \d 숫자만 허용 \D 숫자가 아닌 경우만 허용 \s 공백 문자만 허용 (띄어쓰기, 들여쓰기, 줄바꿈) \S 공백 문자가 아닌 경우만 허용 1-2. 어설션 행이나 단어의 시작, 끝을 지정하는 데 사용한다. 정규식 패턴 설명 ^ 문장의 시작 $ 문장의 끝 1-..
[우아한테크코스 6기] 프리코스 4주차 회고록
·
우아한테크코스
[크리스마스 프로모션] 코드 3주차 과제를 진행한 repo 주소이다. https://github.com/Dreaming-J/java-christmas-6-Dreaming-J GitHub - Dreaming-J/java-christmas-6-Dreaming-J Contribute to Dreaming-J/java-christmas-6-Dreaming-J development by creating an account on GitHub. github.com 4주차 회고 정말 역대급 미션이었다. 과제를 해결하기 위해 며칠동안 아침부터 자기 전까지 코드만 보면서 지내왔다. 이번에는 과제를 통과하기 위해 급급했기에 나를 돌이켜 볼 시간이 많이 부족했다. 사실 졸업논문과 시기가 겹쳐 얼른 끝내고 졸업논문을 처리해야 ..
[우아한테크코스 6기] 프리코스 3주차 회고록
·
우아한테크코스
[로또] 코드 3주차 과제를 진행한 repo 주소이다. https://github.com/Dreaming-J/java-lotto-6/tree/Dreaming-J GitHub - Dreaming-J/java-lotto-6 Contribute to Dreaming-J/java-lotto-6 development by creating an account on GitHub. github.com 3주차 회고 지난 과제와 다르게 이번에는 여러 키워드가 나를 더욱 고민시킨 주차였다. "검색 & 문서 탐색", "객체 분리 & 메시지", "단위 테스트", "함수형 인터페이스", "상속" 해당 키워드들이 이번 주 내내 나를 괴롭혔다. 검색 & 문서 탐색 이 키워드는 나를 괴롭히진 않았고 많은 깨달음을 줬다. 과제마다 새로..