Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使我的程序输出其第一个值_Java_Methods_Do While - Fatal编程技术网

Java 如何使我的程序输出其第一个值

Java 如何使我的程序输出其第一个值,java,methods,do-while,Java,Methods,Do While,我的程序应该将数字输出为文字。例如,输入10。输出10。我输入的所有其他数字都是正确的,只有十个除外。我只是需要帮助来解决这个问题。任何帮助都将不胜感激。当我输入10时,它显示为空白 我的代码:对于11-99之间的所有数字,而不是10之间的所有数字,程序以文字形式正确输出数字的原因是您忘记了TETENTES()子例程中的以下代码: if(numInput==10){ System.out.println("Ten"); } if(tensDigit==10){ Syste

我的程序应该将数字输出为文字。例如,输入10。输出10。我输入的所有其他数字都是正确的,只有十个除外。我只是需要帮助来解决这个问题。任何帮助都将不胜感激。当我输入10时,它显示为空白


我的代码:

对于11-99之间的所有数字,而不是10之间的所有数字,程序以文字形式正确输出数字的原因是您忘记了TETENTES()子例程中的以下代码:

if(numInput==10){
      System.out.println("Ten");
}
if(tensDigit==10){
     System.out.println("ten");
}
当输入为“10”时,将输入该子例程,但它不会输出任何内容,因为您从不检查输入是否为“10”

此外,tens()子例程中的以下代码:

if(numInput==10){
      System.out.println("Ten");
}
if(tensDigit==10){
     System.out.println("ten");
}

永远无法访问,因为当输出为“10”时,将调用TETENS()子例程,而不是tens()子例程。

对于11-99之间的所有数字,程序以文字形式正确输出数字,而不是10,是因为您忘记了TETETENS()子例程中的以下代码:

if(numInput==10){
      System.out.println("Ten");
}
if(tensDigit==10){
     System.out.println("ten");
}
当输入为“10”时,将输入该子例程,但它不会输出任何内容,因为您从不检查输入是否为“10”

此外,tens()子例程中的以下代码:

if(numInput==10){
      System.out.println("Ten");
}
if(tensDigit==10){
     System.out.println("ten");
}
永远无法访问,因为当输出为“10”时,将调用Tends()子例程,而不是tens()子例程

  • if(numInput==10){System.out.println(“十”);}
    添加到
    teents(双numInput)

  • 为什么要使用双重编码?我会使用
    int

  • double-tensigital=Math.floor((numInput%100)/10)
    中,删除
    %100
    ,因为您已经完成了健全性检查

  • 公共静态无效十位数(双十位数)
    中删除
    if(tensdigital==10)

  • tryAgain
    error
    更改为
    boolean

  • 在压痕上工作

  • if(numInput==10){System.out.println(“十”);}
    添加到
    teents(双numInput)

  • 为什么要使用双重编码?我会使用
    int

  • double-tensigital=Math.floor((numInput%100)/10)
    中,删除
    %100
    ,因为您已经完成了健全性检查

  • 公共静态无效十位数(双十位数)
    中删除
    if(tensdigital==10)

  • tryAgain
    error
    更改为
    boolean

  • 在压痕上工作

  • 在Tens()方法中。。。你有:

    if (tensDigit==10)
    {  
        System.out.println("ten");  
    }  
    
    它需要:

    if(tensDigit==1)
    {  
        System.out.println("ten");  
    }  
    
    在Tens()方法中。。。你有:

    if (tensDigit==10)
    {  
        System.out.println("ten");  
    }  
    
    它需要:

    if(tensDigit==1)
    {  
        System.out.println("ten");  
    }  
    

    如果大于等于20,则只调用Tens(),否则只调用tenes(),因此当输入10时,可以理解为什么不调用Tens()。

    如果大于等于20,则只调用Tens(),否则只调用tenes(),因此当输入10时,可以理解为什么Tens()没有被调用…

    这是jusdt one输出,我需要帮助任何人使用循环和字符串数组。这将占用更少的空间。这是jusdt one输出,我需要帮助任何人使用循环和字符串数组。这将占用更少的空间。@Daemon不,不是。这应该是答案,但如果您查看问题中的代码,tens()例程只针对等于或大于20的数字输入。如果数字介于10和19(含10和19)之间,则输入TETENS()例程。这是不正确的。按照程序的计算方式,10被视为“青少年”@AdamSmith道歉。它似乎是对的,但经过测试仍然无法解决问题。似乎我还在醒着。@Daemon没问题,只是想指出它,因为这段代码的编写方式并没有让它变得明显。@Daemon不,它不是。这应该是答案,但如果您查看问题中的代码,tens()例程只针对等于或大于20的数字输入。如果数字介于10和19(含10和19)之间,则输入TETENS()例程。这是不正确的。按照程序的计算方式,10被视为“青少年”@AdamSmith道歉。它似乎是对的,但经过测试仍然无法解决问题。似乎我还在醒着。@Daemon没问题,只是想指出一点,因为这段代码的编写方式并不明显。请参阅Mitesh Pathak的回答中的注释,了解这一点不正确的原因。如果大于等于20,则只调用Tens(),否则只调用Tens()请参阅Mitesh Pathak的答案的注释,以了解这一错误的原因。如果Tens()大于等于20,则只能调用Tens(),否则只能调用Tens()