2017-04-03 30 views
-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(); 

      } 

     } 

    } 
} 
+0

这对我们来说太少了,无法帮助您... –

+0

对不起。我会给你我的完整代码。请看看 – COI

+0

有趣的部分是你用来将你的号码转换为字符串的那部分。您没有添加到您的帖子的部分... – jhamon

回答

1

,我认为这可以通过检查来简单地固定,如果number是被10整除的任何地方number20 <= number <= 100

if (number >= 20 && number <= 100) { 

    tensDigit = number/10; 
    onesDigit = number % 10; 
    if (onesDigit == 0) { 
     System.out.println("" + tens[tensDigit]) 
    } else { 
     System.out.println("" + tens[tensDigit] + "" + ones[onesDigit]); 
    } 
    System.out.print("Number: "); 
    number = In.nextInt(); 

}