简体   繁体   中英

how to break or continue a loop from user input

I'm trying to write a code that loops when y is entered and stops when n is entered, this is what I have so far.

Scanner input = new Scanner(System.in);
do{ 
    System.out.println("She sells seashells by the seashore.");
    System.out.println("Do you want to hear it again?");
}while (input.hasNext());{
input.hasNext("y");
   }

I have no clue how to continue.

For more readable code you can use a boolean variable and assign it to true according to your input equals to "y" condition

public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        boolean stopFlag= false;
        do{
            System.out.println("She sells seashells by the seashore.");
            System.out.println("Do you want to hear it again?");
            String userInput =input.next();
            if(!userInput.equals("y"))
                stopFlag=true;
        }while (!stopFlag);
    }

You can do this:

Scanner input = new Scanner(System.in);
while(input.hasNext()) {
    String temp = input.next();
    if(temp.equals("y")) {
        // if you need to do something do it here
        continue; // will go to the next iteration
    } else if(temp.equals("n")) {
        break; // will exit the loop
    }
}

If you are persistent on using do...while then you can try:

Scanner input = new Scanner(System.in);
do{ 
    System.out.println("She sells seashells by the seashore.");
    System.out.println("Do you want to hear it again?");
}while (input.hasNext() && !input.next().equals("n"));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM