2014-10-29 198 views
0

我在这里有一个简单的do while循环。我现在唯一的问题是这个循环现在只接受数字。我需要它接受除空白输入之外的所有内容。如何在不输入任何内容时提示用户

import java.util.Scanner; 

public class Assignment6 { 
    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     boolean notValid = true; 
     int numberAsInt = 0; 
     do { 
      try { 
       System.out.print("Enter a number to Convert > "); 
       String number = scan.nextLine(); 
       numberAsInt = Integer.parseInt(number); 
       notValid = false; 
      } 
      catch (Exception e) { 
      } 

     } while (notValid); 
    } 
} 

回答

0

我有点疑惑因为你解析了你的代码中的结果,但我希望这是你所要求的:

public class Assignment6 { 
public static void main(String[]args){ 
    Scanner scan = new Scanner(System.in); 
    boolean notValid = true; 
    String input; 
    do{ 
      System.out.print("Enter a number to Convert > " ); 
      input = scan.nextLine(); 
      if(!input.isEmpty()) 
      notValid = false; 

    } while (notValid); 

    } 
} 
+0

非常感谢这是最有帮助的 – 2014-10-29 08:15:59

+0

我很高兴它有帮助。那么请接受它作为回应。 – Iootu 2014-10-29 08:21:47

+0

嘿,还有一件事。我正在使用基地,我需要提供一个错误消息。我可以在这里发布我的代码吗? – 2014-10-29 08:37:18

1

你可以这样做:

String number = readLine("Enter a number to Convert > "); 
while(number.isEmpty()){ 
    number = readLine("Please enter a *non-blank* number > "); 
} 
+0

哦,哇,没有看到你的回应。谢谢! – 2014-10-29 08:21:56

0

在这里,我们比较,如果输入的数值空间比不是有效的将是真正的

try { 
        System.out.print("Enter a number to Convert > " ); 
        String number = scan.nextLine(); 
        if(number.equals(" ")) 
        { 
        notValid = ture; 
        sysytem.out.println(" Please do not enter blank space"); 
        } 
        else 
        { 
        numberAsInt = Integer.parseInt(number); 
        notValid = false; 
        } 
      } 
0

使用此片段在你的代码:

if(number.trim().equals("")) 
         { 
         notValid = ture; 
         sysytem.out.println(" Please do not enter blank space"); 
         } 
相关问题