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实现)
猜你喜欢
转载自blog.csdn.net/qq_29215513/article/details/78169847
今日推荐
周排行