java - Ensuring Type-Safe Input Using Nested While-loops -


the program have written below designed if user doesn't enter integer when prompted, program loop until do. works initial check, second check not work. code follows:

import java.util.scanner; public class safeinput {     public static void main(string[]args)     {         system.out.println("please enter integer. if want exit, enter -1>");         scanner scan = new scanner(system.in);          while(!scan.hasnextint())         {             string garbage = scan.nextline();             system.out.println("you've entered garbage.");         }          int input = scan.nextint();          while(input != -1)         {                        system.out.println("\nyou entered: "+input);             system.out.println("please enter integer. if want exit, enter -1>");              while(!scan.hasnextint())             {                 system.out.println("you've entered garbage.");                 string garbage1 = scan.nextline();             }              input = scan.nextint();         }          system.out.println("-1 entered. goodbye");     } } 

here's happens when execute program:

please enter integer. if want exit, enter -1> string you've entered garbage. 1  entered: 1 please enter integer. if want exit, enter -1> 2  entered: 2 please enter integer. if want exit, enter -1> string you've entered garbage. you've entered garbage. string you've entered garbage. 1  entered: 1 please enter integer. if want exit, enter -1> 2  entered: 2 please enter integer. if want exit, enter -1> -1 -1 entered. goodbye 

why when fail second check integer, program outputs:

you've entered garbage. you've entered garbage. 

instead of:

you've entered garbage. 

thanks!

second while loop should updated below.

        while(input != -1)         {                        system.out.println("\nyou entered: "+input);             system.out.println("please enter integer. if want exit, enter -1>");             scan.nextline();             while(!scan.hasnextint())             {                 system.out.println("you've entered garbage");                 string garbage1 = scan.nextline();             }              input = scan.nextint();         } 

Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

android - Keyboard hides my half of edit-text and button below it even in scroll view -