[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-..
[JAVA] DecimalFormat 클래스
·
JAVA/String
0. 서론 숫자를 출력하는 과정에서 세자리마다 쉼표를 찍거나, 소수점 출력 등 형태의 변화가 필요할 때가 있다. 이 때, 쉽게 해주는 클래스가 바로 DecimalFormat이다. 1. 사용법 아래 기호를 이용해 사용할 수 있다. 사용법은 엑셀과 아주 유사하다. 기호 의미 0 숫자, 빈자리는 0으로 채움 # 숫자, 빈자리는 채우지 않음 . 소수점 표시 , 세자리마다 쉼표 추가 E 지수로 표시 ; 양수와 음수 패턴 사용 시 패턴 구분자 % 퍼센트로 표시(100 곱한 후 % 기호 추가) \u00A4 통화 표시 추가 ' 해당 기호로 감쌀 시, 표에 있는 기호 출력 1-1. 코드 DecimalFormat decimalFormat; decimalFormat = new DecimalFormat("00000"); Sy..
[JAVA] StringJoiner: 문자열 구분자 추가하기
·
JAVA/String
0. 서론 간혹 문자열 중간 공백을 넣거나 쉼표를 넣어주는 경우, 코드가 번잡해지는 경향이 있다. 이 때, StringJoiner를 이용하면 손쉽게 구현이 가능하다. StringJoiner(CharSequence delimiter) StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) delimiter: 구분자 prefix: 접두사 suffix: 접미사 1. 사용법 1-1. 기본 사용법 구분자만 사용했을 때, List list = List.of("Andrew", "Brian", "Chris", "Daniel", "Emily"); StringJoiner stringJoiner = new StringJoiner(", ")..