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实现)
最新推荐文章于 2023-01-15 21:26:36 发布