日期:2014-05-20  浏览次数:20821 次

请问一初级问题(JAVA命令行模式下的程序跳转)
我写了一段程序,目的是接收一段键盘的一段输入,如果是数字,执行下去,如果是字母,提出出错信息,然后再返回提示键盘输入的地方:


import java.util.*;
  public class wo {
public static void main(String args[]) {
Scanner in=new Scanner(System.in);
System.out.println("输入数字:");
String s=in.nextLine();
//以上的语句收集输入值。

//以下检测输入的是否是整数
try{ 
int i = Integer.parseInt(s); 
}catch(NumberFormatException nfe){ 
System.out.println("违法数字格式!"); 
}

  }  
}


到这里,提示是出来了,但如何返回输入界面呢?



------解决方案--------------------
Java code
import java.util.Scanner;

public class Test {
    
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);
        int num;
        while(true) {
            System.out.print("输入数字:");
            try {
                num = in.nextInt();
                break;
            }catch(Exception e) {
                System.out.println("输入错误,请重新输入!");
                // 这里一定要加上这么一句,否则会变成死循环
                  in.next();
            }
        }
        System.out.println("你输入的数字是:" + num);
    }
}