import java.util.Scanner;
public class Main{
static int flg=0;
static String []s1={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
static String []s2={"","shi","bai","qian"};
static String []s3={"","wan","yi"};
public static void main(String args[])
{
Scanner input=new Scanner(System.in);
int a=input.nextInt();
input.close();
String s=read(a);
System.out.println(s);
}
public static String fun(int a)
{
String s="";
int i,cnt=0;
boolean flag=false; //"零"開頭的情況
boolean ff=false; //"yi shi"開頭的情況
if(a%100==a && a>=10 && (int)a/10==1) //判斷是否"yi shi"開頭
{
a=a%10;
ff=true;
}
while(a!=0)
{
i=a%10;
a=a/10;
if(i!=0)
{
s=s2[cnt]+' '+s;
s=s1[i]+' '+s;
flag=true;
}
else if(flag) //處理四位中間有零的情況
{
s=s1[i]+' '+s;
flag=false;
}
cnt++;
}
if(ff) s="shi "+s.trim();
return s.trim();
}
public static String read(int n){
String tmp="";
int a;
int cnt=1;
while(n>0)
{
a=n%10000;
n=n/10000;
if(a!=0) tmp=fun(a)+tmp; //處理一般情況,可防止出現零在末尾的情況
if(n!=0 && a<1000 && a!=0) tmp="ling "+tmp; //處理零在中間的情況
if(n%10000!=0) tmp=' '+s3[cnt]+' '+tmp; //處理整萬數
cnt++;
}
return tmp;
}
}
阿拉伯數字的讀法(JAVA實現)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.