我的程序应该将数字输出为单词。例如输入10.输出TEN。除了十点之外,我输入的所有其他数字都是正确的。我只需要帮助来解决这个问题。任何帮助将不胜感激。当我输入10时,它会显示为空白。
我的代码:
答案 0 :(得分:5)
您的程序为11-99之间的所有数字正确输出单词的数字而不是10的原因是因为您忘记了青少年()子程序中的以下代码:
if(numInput==10){
System.out.println("Ten");
}
当输入为“10”时,将输入该子程序,但它不会输出任何内容,因为您从不检查输入是否为“10”。
此外, tens()子例程中的以下代码:
if(tensDigit==10){
System.out.println("ten");
}
永远无法到达,因为当输出为'10'时,将调用 teens()子例程,而不是 tens()子例程。
答案 1 :(得分:1)
将if(numInput == 10) { System.out.println("Ten");}
添加到teens(double numInput)
。
为什么要使用double
?我会使用int
。
在double tensDigit = Math.floor((numInput % 100) / 10)
中,删除% 100
,因为您已经进行了完整性检查。
从if(tensDigit == 10)
移除public static void tens(double tensDigit)
。
将tryAgain
和error
更改为boolean
。
缩进工作。
答案 2 :(得分:0)
在你的Tens()方法中......你有:
if (tensDigit==10)
{
System.out.println("ten");
}
需要:
if(tensDigit==1)
{
System.out.println("ten");
}
答案 3 :(得分:0)
如果它大于等于20,你只调用Tens(),否则你只调用TEENS(),所以当你输入10时,为什么没有调用Tens()是有道理的...