Java中try-catch块中验证数字的问题



我正试图创建一个方法来用NetBeans引入int,但我在运行该方法时遇到了问题,控制台消息的顺序不正确,有人知道问题是什么:

public static void main(String[] args)
{
    Scanner teclado = new Scanner(System. in );
    int num;
    boolean error;
    public int introducirDatos()
    {
        do
        {
            error = false;
            try
            {
                System.out.println("Introduzca un número entero: ");
                num = Integer.valueOf(teclado.nextLine());
            }
            catch (NumberFormatException e)
            {
                System.err.println("Debe introducir un número y sin decimales, vuelve a intentarlo.n");
                error = true;
            }
        } while (error == true);
        return num;
    }
}

谢谢。

我相信您正在IDE中运行代码-IntelliJ IDEA或Eclipse。行System.out.println("Introduzca un número entero: ");打印为标准OUT,但System.err.println("Debe introdu...打印为标准ERROR。这就是输出混乱的原因。将System.err替换为System.out,以使消息一个接一个地打印得很好。顺便说一句,你还没有指定你正在使用哪种语言。它是Java吗?您可能需要更新问题标签。

最新更新