2015-10-20 43 views
1

我想反复要求用户输入一个整数,但也允许他们取消。我有这样的:如何获取有效的整数输入,但允许用户输入空值?

int numSelectedCols = 0; 
boolean validInput = false; 

while(!(numSelectedCols > 0) && !validInput) { 
    try { 
     numSelectedCols = Integer.parseInt(JOptionPane.showInputDialog("Enter number of columns to be selected: ")); 
     validInput = true; 
    } 
    catch (NumberFormatException e) { 
     System.out.println("Please enter an integer value"); 
    } 
} 

它多次要求一个有效的输入,但是当我按下“取消”按钮,它依然保持着问。我该如何解决?

谢谢。

回答

0

我想这样的作品:

while(!validInput) { 
    input = JOptionPane.showInputDialog("Enter number of columns to be selected: "); 
    if(input != null) { 
     try { 
      numSelectedCols = Integer.parseInt(input); 
      if(numSelectedCols > 0) { 
       validInput = true; 
      } 
     } 
     catch (NumberFormatException e) { 
      System.out.println("Please enter an integer value"); 
     } 
    } 
    else { 
     validInput = true; 
    } 
} 
相关问题