import java.io.*;
import java.util.*;
class Num
{
public static void main(String[] args)throws IOException
{
InputGender in = new InputGender();
in.input();
in.gender();
}
}
class InputGender
{
public String get_num="";
void input()throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("한글 숫자 입력> ");
get_num = in.readLine();
}
void gender()throws IOException
{
String num[] = {"영","일","이","삼","사","오","육","칠","팔","구"};
String small_unit[]= {"십","백","천"};
String big_unit[]={"만","억"};
String all_unit="십백천만억";
long r_result=0;
long result = 0;
StringTokenizer stn = new StringTokenizer(get_num,all_unit,true);
long imsi = 0;
while(stn.hasMoreTokens())
{
String temp = stn.nextToken();
for (int i = 0; i< num.length ;i++ )
{
if(num[i].equals(temp))
{
imsi = i;
break;
}
}
for (int j = 0; j< small_unit.length ; j++ )
{
if(small_unit[j].equals(temp))
{
result +=imsi*Math.pow(10,j+1);
imsi = 0;
break;
}
}
for ( int k = 0; k< big_unit.length ;k++ )
{
if(big_unit[k].equals(temp))
{
r_result+=(result+imsi)*Math.pow(10000,k+1);//십의짜리 계산후 일의자리숫자 합치고 10000만큼 거듭제곱근 시키기.
result= 0;//초기화
imsi = 0;//초기화
break;
}
}
}
result+=imsi;//최종 1의자리값을 합하고.
r_result +=result;//나머지값에 합산한다.
System.out.print("입력하신 숫자는 :" + (r_result));
}
}
'프로그래밍 > 자바(JAVA)' 카테고리의 다른 글
[자바 질문] 자바배열에 관해서 질문이 있습니다. (0) | 2012.05.09 |
---|---|
[자바 질문] 자바 문제좀 풀어주세요!! (0) | 2012.05.09 |
[자바 질문] 자바 가비지 콜렉션 질문드립니다. (0) | 2012.05.09 |
[자바/JAVA] 자바 - 피라미드 만들기 + 모래시계 만들기 소스 (0) | 2012.05.04 |
[자바/JAVA] 자바 달력만들기 (0) | 2012.05.04 |
[자바/JAVA] 자바 야구 게임 소스 (0) | 2012.05.04 |
[자바/JAVA] 자바 가위바위보 소스 코드 (0) | 2012.05.04 |
[자바/JAVA] 자바 로또 소스 코드 (0) | 2012.05.04 |
[자바/JAVA] 자바 최대값 최소값 구하기 (0) | 2012.05.04 |