Java在验证时执行

时间:2016-03-15 21:05:04

标签: java arrays validation do-while

如何在(真实)改变时将其更改为do,当用户输入数字时,他们将返回详细信息,但如果他们输入*,系统将关闭。

while (true){
         System.out.print("Enter number: ");
         int option = keyboard.nextInt(); 
         out.writeInt(option);

4 个答案:

答案 0 :(得分:0)

char option;
do {
         System.out.print("Enter number: ");
         option = keyboard.nextChar(); 
         out.writeChar(option);
} while (option != '*')

答案 1 :(得分:0)

您可能希望使用nextLine()next()来接收输入并相应地解析它们:

do{
    System.out.print("Enter number: ");
    String str = keyboard.nextLine();
    int option = 0;
    if(str.matches"[0-9]+"){
        option = Integer.parseInt(str);
        System.out.println(option);
    }
    else if(str.equals("*"))
        System.exit(0);   //or use break; if you want to exit the loop
}while(whatever);         //whatever == true

答案 2 :(得分:0)

如果你改变它以允许用户输入一个字符串然后在可能的情况下转换为int,你可以捕获任何错误并在用户输入一个' *'字符:

    import java.util.*;

    class MainInput{

        public static void main(String[] args){
            Scanner keyboard = new Scanner(System.in);
            int option;
            String input;

            do{
                 System.out.print("Enter number: ");
                 input = keyboard.nextLine();
                 try{
                    option = Integer.parseInt(input);
                    System.out.println("You entered the value: " + option);
                 }
                 catch(Exception ex) {
                     if (!input.equals("*")){
                         System.err.println("Invalid input, please enter numbers only.");
                    }
                 }
            }while(!input.equals("*"));
        }
    }

如果使用类似(-1)的退出值,则可以继续使用nextInt()处理输入,并且变得更加容易。您可以通过简单的do / while来完成此操作:

   import java.util.*;

    class MainInput{
        public static void main(String[] args){
            Scanner keyboard = new Scanner(System.in);
            int option = 0;
            do{
                 System.out.print("Enter number: ");
                 option = keyboard.nextInt();
                 System.out.println("You entered the value: " + option);
            }while(option != -1);
        }
    }

答案 3 :(得分:0)

   do{
       System.out.print("Enter number: ");
       Scanner sc = new Scanner(System.in);
       String str = sc.nextLine();

    }while(!str.equals("*"))

编辑:如果你想用数字作为整数或双数。只是让我知道,我会根据您的需要添加铸造版本。

    int number;
   do{
       System.out.print("Enter number: ");
       Scanner sc = new Scanner(System.in);
       String str = sc.nextLine();
       number = Integer.parseInt(str);
    }while(!str.equals("*"))

现在你有一个整数number