static void getResult() {
// 요구사항] 숫자를 입력받은뒤 한글로 출력하시오
// 입력] ₩12,345
// 출력] 금 일만이천삼백사십오원
// 조건] 숫자는 7자리 이내
// input//
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
// validation//
int value = Integer.parseInt(str);
System.out.printf("입력하신 금액은 ... \n ₩%,d 입니다.\n", value);
if (str.length() > 7) {
System.out.println("입력가능 범위 초과(out of range)");
return;
}
// output//
System.out.print("금 ");
for (int i = 0; i < str.length(); ++i) {
System.out.print(translate(str.charAt(i), (str.length()) - i));
}
System.out.println(" 원");
}
static String translate(int number, int level) {
String result = "";
String won = "";
String dan = "";
switch (number) {
case 48: won = ""; break;
case 49: won = "일"; break;
case 50: won = "이"; break;
case 51: won = "삼"; break;
case 52: won = "사"; break;
case 53: won = "오"; break;
case 54: won = "육"; break;
case 55: won = "칠"; break;
case 56: won = "팔"; break;
case 57: won = "구"; break;
}
switch (level) {
case 7: dan = "백만"; break;
case 6: dan = "십만"; break;
case 5: dan = "만"; break;
case 4: dan = "천"; break;
case 3: dan = "백"; break;
case 2: dan = "십"; break;
case 1: dan = ""; break;
}
result = won + dan;
return result;
}
123456
입력하신 금액은 ...
₩123,456 입니다.
금 일십만이만삼천사백오십육 원