-2
我想从原始数字打印出单词。但是当我尝试输入20,30,40等时,我很挣扎。然而,输出将是“二十零”而不是“二十”。我做了一个零字符串的空字符串获得“twentyzero”“三十零”打印输出
String [] zero = {""};
然后在number = 0时做了一个If语句;
if (number == 0){
String result = zero[number];
System.out.print("");
number = In.nextInt();
}
但是,这根本不起作用。有没有人对此有任何想法。谢谢!
我全码:
public class NumberToWords {
public static void main(String[] args) {
System.out.print("Number: ");
int number = In.nextInt();
int onesDigit;
int tensDigit;
String[] zero = {""};
String[] ones = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten",
"eleven", "tweleve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
String[] tens = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
String[] hundreds = {"one hundred", "two hundred", "three hundred", "four hundred", "five hundred",
"six hundred", "seven hundred", "eight hundred", "nine hundred"};
while (number != -1) {
if (number == 0) {
String result = zero[number];
System.out.print("");
number = In.nextInt();
}
if (number < 20) {
String result = ones[number];
System.out.println("" + result);
System.out.print("Number: ");
number = In.nextInt();
}
if (number >= 20 && number <= 100) {
tensDigit = number/10;
onesDigit = number % 10;
System.out.println("" + tens[tensDigit] + "" + ones[onesDigit]);
System.out.print("Number: ");
number = In.nextInt();
}
}
}
}
这对我们来说太少了,无法帮助您... –
对不起。我会给你我的完整代码。请看看 – COI
有趣的部分是你用来将你的号码转换为字符串的那部分。您没有添加到您的帖子的部分... – jhamon