void input() {
String jixu="y";
Scanner input = new Scanner(System.in);
while("y".equals(jixu)){ System.out.println("请输入一个数");
if( input.hasNextInt()){
int num = input.nextInt();
System.out.println("输入正确"+num);
break;
}
System.out.println("只能输入数字。请重新输入");
System.out.println("是否继续?");
jixu = input.next();

}
}
java while input 

解决方案 »

  1.   

    程序其實執行到System.out.println("是否继续?");
    jixu = input.next();就已經跳出while循環了。大概給你改了一下程序 看看是不是你想要的
    public class Snippet
    {
    static void input()
    {
    String jixu = "y";

    while ("y".equals(jixu))
    { Scanner input = new Scanner(System.in);

    System.out.println("请输入一个数");

    if (input.hasNextInt())
    {
    int num = input.nextInt();

    System.out.println("输入正确" + num);

    break;
    }
    System.out.println("只能输入数字。请重新输入");

    System.out.println("是否继续?");

    Scanner input1 = new Scanner(System.in);

    jixu = input1.next(); }
    } public static void main(String[] args)
    {
    input();
    }
    }
      

  2.   

    while 循环里面对jixu 赋一个非y 的字符串 就跳出循环了