题解 | #学英语#
学英语
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Scanner;
public class Main {
static String[] num1=new String[]{"zero","one","two","three","four","five","six", "seven","eight","nine","ten","eleven","twelve", "thirteen","fourteen","fifteen","sixteen", "seventeen","eighteen","nineteen"};
static String[] num2=new String[] {"","","twenty","thirty","forty","fifty","sixty", "seventy","eighty","ninety"};
public static String transIn100(int num) { StringBuilder sb = new StringBuilder(); if(num>0 && num<20) { sb.append(num1[num]+" "); }else { sb.append(num2[num/10]+" "); if(num%10!=0) sb.append(num1[num%10]+" ");
} return sb.toString();
}
public static String transIn1000(int num) { StringBuilder sb = new StringBuilder(); if(num>=100) { sb.append(transIn100(num/100)); sb.append("hundred "); if(num%100!=0) { sb.append("and "); } } sb.append(transIn100(num%100)); return sb.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
long longVal = scan.nextLong();
StringBuilder sb =new StringBuilder();
int resBil = (int) (longVal/1e9);
if(resBil>0)
{
String res = transIn1000(resBil)+"billion ";
sb.append(res);
}
longVal = longVal % 1000000000;
int resMil = (int) (longVal/1000000);
if(resMil>0)
{
String res = transIn1000(resMil)+"million ";
sb.append(res);
}
longVal = longVal % 1000000;
int resThousand = (int) (longVal/1000);
if(resThousand>0)
{
String res = transIn1000(resThousand)+"thousand ";
sb.append(res);
}
longVal = longVal % 1000;
if(longVal>0)
{
String res = transIn1000((int)longVal);
sb.append(res);
}
System.out.println(sb.toString().trim());
}
}
查看9道真题和解析
老板电器公司氛围 197人发布