반응형
특정 범위에 속하는 값을 문자열로 변환해준다.
import java.text.ChoiceFormat;
public class ChiceFormatEx1 {
public static void main(String[] args) {
double[] limits = {50, 60, 70, 80, 90}; //낮은값->큰값, 오름차순
String[] grades = {"F", "D", "C", "B", "A"}; //경계값에 정의된 범위의 개수와 일치해야 됨
int[] scores = {100, 60, 45, 95, 88, 70, 52, 60, 30, 70};
ChoiceFormat form = new ChoiceFormat(limits, grades);
for(int score : scores) {
System.out.println(score + ": " + form.format(score));
}
}
}
결과
100: A
60: D
45: F
95: A
88: B
70: C
52: F
60: D
30: F
70: C
두 개의 배열 중 하나(limits)는 범위의 경계값을 저장하는데 사용하였고, 또 하나(grades)는 범위에 포함된 값을 치환 할 문자열을 저장하는데 사용되었다.
경계값은 double형으로 반드시 모두 오름차순으로 정렬되어 있어야 하며, 치환 될 문자 열의 개수는 경계값에 의해 정의된 범위의 개수와 일치해야 하며, 그렇지 않으면 IllegalArgumentException이 발생한다.
아래와 같이 패턴으로도 사용 가능하다. 패턴은 '#'와 '<' 두 가지를 제공한다.
import java.text.ChoiceFormat;
public class ChoiceFormatEx2 {
public static void main(String[] args) {
String pattern = "50#F|60#D|70#C|80#B|90#A";
int[] scores = {100, 60, 45, 95, 88, 70, 52, 60, 30, 70};
ChoiceFormat form = new ChoiceFormat(pattern);
for(int score : scores) {
System.out.println(score + ": " + form.format(score));
}
}
}
결과
100: A
60: D
45: F
95: A
88: B
70: C
52: F
60: D
30: F
70: C
반응형
'DEV > Java' 카테고리의 다른 글
[자바] java.time 패키지 (5) | 2023.02.03 |
---|---|
[자바] MessageFormat (3) | 2023.02.02 |
[자바] SimpleDateFormat (2) | 2023.02.02 |
[자바] 형식화 클래스 (1) | 2023.02.02 |
[자바] Calendar (0) | 2023.02.02 |
댓글