题解 | #学英语#就硬解吧~
学英语
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); long m = in.nextLong(); long p = m % 1000; String str = getStr(p); str = str == null ? "" : str; long q = m / 1000 % 1000; String s = getStr(q); if (s != null) { str = s + " thousand " + str; } long w = m / 1000000 % 1000; s = getStr(w); if (s != null) { str = s + " million " + str; } System.out.println(str); } private static String getStr(long p) { if (p != 0) { String str = ""; long z = p % 100; if (z < 20 && z > 9) { // 10 - 19 str = str + getNum((int) z); } else { str = getTenDigit((int) (z / 10)); String individualBit = getIndividualBit((int) (z % 10)); if (individualBit != null && str != null) { str = str + " " + individualBit; } else if (individualBit != null) { str = individualBit; } } long x = p / 100; String ss = ""; if (x != 0) { String individualBit = getIndividualBit((int) x); ss = individualBit + " hundred"; } if (z != 0 && x != 0) { str = ss + " and " + str; } else if (x != 0) { str = ss; } return str; } return null; } static String getIndividualBit(int c) { switch (c) { case 1: return "one"; case 2: return "two"; case 3: return "three"; case 4: return "four"; case 5: return "five"; case 6: return "six"; case 7: return "seven"; case 8: return "eight"; case 9: return "nine"; default: return null; } } static String getTenDigit(int c) { switch (c) { case 2: return "twenty"; case 3: return "thirty"; case 4: return "forty"; case 5: return "fifty"; case 6: return "sixty"; case 7: return "seventy"; case 8: return "eighty"; case 9: return "ninety"; default: return null; } } static String getNum(int num) { switch (num) { case 10: return "ten"; case 11: return "eleven"; case 12: return "twelve"; case 13: return "thirteen"; case 14: return "fourteen"; case 15: return "fifteen"; case 16: return "sixteen"; case 17: return "seventeen"; case 18: return "eighteen"; case 19: return "nineteen"; } return null; } }