반응형
요즘 글을 쓰지 못하는 이유는 스프링 관련 강의 및 MVC패턴에 대한 강의를 보며 공부 중이기 때문입니다.
공부를 해보니 공부량이 너무나 많아 다른 사람의 프로젝트 코드를 해석하며 그것을 토대로 공부 하고 있습니다. 또한 공부하면서 기초가 부족하다고 느껴서 기초적 공부도 같이 병행하고 있습니다.
그래서 자바 기초 공부를 하던 중 금액을 한글로 변환시키는 알고리즘을 공부해보고 코드로 작성해보았습니다.
출력방법은 StringBuffer.append()를 사용하였습니다.
Scanner를 이용해서 숫자를 입력하면 한글로 작성했을 때의 금액 단위가 있는 배열을 읽어서 출력하게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package convert;
import java.util.Scanner;
public class convertMoneyToHanguel {
public static String convert(String money) {
String[] han1 = { "", "일","이","삼", "사", "오", "육", "칠", "팔", "구" };
String[] han2 = { "", "십", "백", "천" };
String[] han3 = { "", "만", "억", "조", "경" };
StringBuffer result = new StringBuffer();
int leng = money.length();
int initInt=0;
for (int i = leng-1; i >= 0; i--) {
initInt=Integer.parseInt(String.valueOf(money.charAt(leng-i-1)));
if (initInt > 0) {
result.append(han1[initInt]);
result.append(han2[i % 4]); // 십,백,천
}
// 만, 억, 조 ,경 단위
if (i % 4 == 0) {
result.append(han3[i / 4]); // 천단위
result.append(" ");
}
}
result.append("원");
return result.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String don = scan.next();
System.out.print(convertMoneyToHanguel.convert(don));
}
}
|
cs |
※ 아래는 코드 출력 결과입니다.
반응형
최근댓글