0

所以,这是我第一次来这里,我从 Java 开始,这应该是一个非常愚蠢的错误,但我找不到为什么我的程序在进入 while 部分时卡住了。这是一个我询问姓名和年龄的程序,但它不能是负数,所以当这种情况发生时,我必须显示一个 messageDialog 来说明。

package guia1;
import java.util.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Paris
 */
public class LecturaConsola {
public static void main(String args[]){
    Scanner reader = new Scanner(System.in);
    String nombre = "";
    int edad;
    System.out.print("Ingrese su nombre: ");
    nombre=reader.nextLine();
    System.out.print("Ingrese su edad: ");
    edad=reader.nextInt();
    while(edad<0){ //error here
        JOptionPane.showMessageDialog(null, "No se permite ingresar una edad negativa, favor ingresela nuevamente."); 
        System.out.print("Ingrese su edad: ");
        edad=reader.nextInt();
    }
    System.out.println("Nombre: "+nombre);
    System.out.println("Edad: "+edad);
}

}    

当我输入一个正数时一切顺利,但是当我输入一个负数时,MessageDialog 不显示并且程序卡住了,有什么建议吗?

PD。对不起我的英语。

编辑:我正在输入这些数据,

巴黎福雷尔

-22

它卡住了,但如果我尝试,

巴黎福雷尔

22

工作我不知道为什么我的 messageDialog 正在工作,如果我在输入任何信息之前而不是之后输入它,是否有可能我可能没有一些补充或类似的东西?

4

0 回答 0