import java.util.Scanner;
public class test{
private static String temp, tempNumA, tempNumB;
private static int geWei, shiWei, baiWei, judgeA, judgeB;
private static int number(String inputNum) {
if (inputNum.equalsIgnoreCase("zero")) {
return 0;
} else if (inputNum.equalsIgnoreCase("one")) {
return 1;
} else if (inputNum.equalsIgnoreCase("two")) {
return 2;
} else if (inputNum.equalsIgnoreCase("three")) {
return 3;
} else if (inputNum.equalsIgnoreCase("four")) {
return 4;
} else if (inputNum.equalsIgnoreCase("five")) {
return 5;
} else if (inputNum.equalsIgnoreCase("six")) {
return 6;
} else if (inputNum.equalsIgnoreCase("seven")) {
return 7;
} else if (inputNum.equalsIgnoreCase("eigth")) {
return 8;
} else if (inputNum.equalsIgnoreCase("nine")) {
return 9;
} else if (inputNum.equalsIgnoreCase("ten")) {
return 10;
} else if (inputNum.equalsIgnoreCase("eleven")) {
return 11;
} else if (inputNum.equalsIgnoreCase("twelve")) {
return 12;
} else if (inputNum.equalsIgnoreCase("thirteen")) {
return 13;
} else if (inputNum.equalsIgnoreCase("fourteen")) {
return 14;
} else if (inputNum.equalsIgnoreCase("fifteen")) {
return 15;
} else if (inputNum.equalsIgnoreCase("sixteen")) {
return 16;
} else if (inputNum.equalsIgnoreCase("seventeen")) {
return 17;
} else if (inputNum.equalsIgnoreCase("eighteen")) {
return 18;
} else if (inputNum.equalsIgnoreCase("nineteen")) {
return 19;
} else if (inputNum.equalsIgnoreCase("twenty")) {
return 20;
} else {
return -1;
}
}
private static String lessTen(int num) {
switch (num) {
case 0:
temp = "zero";
break;
case 1:
temp = "one";
break;
case 2:
temp = "two";
break;
case 3:
temp = "three";
break;
case 4:
temp = "four";
break;
case 5:
temp = "five";
break;
case 6:
temp = "six";
break;
case 7:
temp = "seven";
break;
case 8:
temp = "eight";
break;
case 9:
temp = "nine";
break;
default:
temp = "erro";
break;
}
return temp;
}
private static String moreThanTen(int num) {
if (num < 20) {
switch (num) {
case 10:
temp = "ten";
break;
case 11:
temp = "eleven";
break;
case 12:
temp = "twelve";
break;
case 13:
temp = "thirteen";
break;
case 14:
temp = "fourteen";
break;
case 15:
temp = "fifteen";
break;
case 16:
temp = "sixteen";
break;
case 17:
temp = "seventeen";
break;
case 18:
temp = "eighteen";
break;
case 19:
temp = "nineteen";
break;
}
} else if (num >= 20) {
switch (num) {
case 20:
temp = "twenty";
break;
case 30:
temp = "thirty";
break;
case 40:
temp = "forty";
break;
case 50:
temp = "fifty";
break;
case 60:
temp = "sixty";
break;
case 70:
temp = "seventy";
break;
case 80:
temp = "eighty";
break;
case 90:
temp = "ninety";
break;
}
}
return temp;
}
private static void outputReult(int num) {
if (num >= 0 && num <= 9) {
System.out.println(lessTen(num));
} else if (num >= 10 && num <= 19) {
System.out.println(moreThanTen(num));
} else if (num >= 20 && num <= 99) {
shiWei = num / 10;
geWei = num % 10;
if (geWei == 0) {
System.out.println(moreThanTen(shiWei * 10));
} else {
System.out.println(moreThanTen(shiWei * 10) + "-"
+ lessTen(geWei));
}
} else if (num >= 100 && num <= 400) {
baiWei = num / 100;
shiWei = num % 100 / 10;
geWei = num % 100 % 10;
if (shiWei == 0 && geWei == 0) {
System.out.println(lessTen(baiWei) + " " + "hundred");
} else if (shiWei == 0 && geWei != 0) {
System.out.println(lessTen(baiWei) + " " + "hundred" + " "
+ "and" + " " + lessTen(geWei));
} else if (shiWei != 0 && geWei == 0) {
System.out.println(lessTen(baiWei) + " " + "hundred" + " "
+ "and" + " " + moreThanTen(shiWei * 10 + geWei));
} else {
if (shiWei == 1 && geWei != 0) {
System.out.println(lessTen(baiWei) + " " + "hundred" + " "
+ "and" + " " + moreThanTen(shiWei * 10 + geWei));
} else {
System.out.println(lessTen(baiWei) + " " + "hundred" + " "
+ "and" + " " + moreThanTen(shiWei * 10) + "-"
+ lessTen(geWei));
}
}
}
}
public static void inputNumber() {
System.out.print("请输入第一个数字(数字必须小于等于20)的单词:");
tempNumA = new Scanner(System.in).next();
judgeA = number(tempNumA);
System.out.print("请输入第二个数字(数字必须小于等于20)的单词:");
tempNumB = new Scanner(System.in).next();
judgeB = number(tempNumB);
if (judgeA == -1 || judgeB == -1) {
System.out.println("你输入的数字单词不正确,请重新输入!");
System.out.println(" ");
inputNumber();
}
}
public static void main(String[] args) {
inputNumber();
System.out.print(tempNumA + " multiply " + tempNumB + " equals ");
outputReult(number(tempNumA) * number(tempNumB));
}
}