阿拉伯数字转英文

来源:互联网 发布:歌颂 陈奕迅 知乎 编辑:程序博客网 时间:2024/06/02 17:41

 输入   阿拉伯数字 (不超过1000)

 输出   相应的英文

 例:输入:31

        输出: THIRTY ONE


import java.util.Scanner;public class 阿拉伯数字转英文 {public static String Bits[]={"ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN"};public static String Teens[]={"ELEVEN","TWELVE","THIRTEEN","FOURTEEN","FIFTEEN","SIXTEEN","SEVENTEEN","EIGHTEEN","NINETEEN"};public static String Ties[]={"TWENTY","THIRTY","FORTY","FIFTY","SIXTY","SEVENTY","EIGHTY","NINETY"};public static void main(String[] args) {Scanner  s=new Scanner(System.in);int n=0;while(n!=-1){n=s.nextInt();if(n>999||n<0){return;}String a=toenglish(n);System.out.println(a);}}public static String toenglish(int n){if(n==0){return "ZERO";}StringBuffer sb=new StringBuffer();if(n>=100){sb.append(toHundred(n));if(n%100!=0){sb.append(" AND ");}n-=(n/100)*100;}boolean isthan20=false;if(n>=20){isthan20=true;sb.append(toTies(n));n-=(n/10)*10;}if(!isthan20&&n>10){sb.append(toTeens(n));n=0;}if(n>0){if(!isthan20){sb.append(" ");}sb.append(toBits(n));}return sb.toString();}public static String toHundred(int n){int hundred=n/100;return Bits[hundred-1]+"HUNDRED";}public static String toTies(int n){int ties=n/10-1;return Ties[ties-1]+" ";}public static String toTeens(int n){return Teens[n-11]+" ";}public static String toBits(int n){return Bits[n-1]+" ";}}


0 0