class Test{
public static void main(String[] args){
while(true){
try{
int age=Integer.parseInt(JOptionPane.showInputDialog("请输入年龄"));
break;
}catch(Exception e){
continue;
}
}
}
}我想实现的功能是,让用户输入一个只含有数字的字符串,如果输入不合法,那么就再次让用户输入,上面的代码我实在看不出问题在哪,请大家指点我一下吧,谢谢了。

解决方案 »

  1.   

    我试了下,逻辑是正常的呀,不合法时会第二次弹出的;楼主说的问题是指运行问题吗?
    如果编译出错,需要导入两个包import java.util.*;
    import javax.swing.*;
    class Test{
    }
      

  2.   

    import javax.swing.*;
    class   Test{ 
    public   static   void   main(String[]   args){ 
    while(true){ 
    try{ 
    int   age=Integer.parseInt(JOptionPane.showInputDialog("请输入年龄")); 
    break; 
    }catch(Exception   e){ 
    continue; 



    } JOptionPane类属于javax.swing.* 因此要导入包javax.swing.*
      

  3.   

    汗,第一次见在catch中用continue的!
    如果想判断参数是否合法,可以用jakarta commons-lang包里的StringUtil来判断~
      

  4.   

    No problem,it works well