所以,这是我第一次来这里,我从 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 正在工作,如果我在输入任何信息之前而不是之后输入它,是否有可能我可能没有一些补充或类似的东西?