题解 | #学英语#就硬解吧~
学英语
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;
}
}