首页 > 解决方案 > 你如何让某个代码块(在 Java 中)不断重复,直到用户选择退出?

问题描述

例如,在下面的代码中,如何使我可以继续运行“输入用户名”部分,直到用户选择退出?

import java.util.Scanner;

public class EnterUserName {
    public static void main(String[] args) {
        Scanner user1 = new Scanner(System.in);
        System.out.println("Enter your username: ");

        String userName = user1.nextLine();
        System.out.println("Username: " + userName);
    }
}

标签: javajava.util.scanner

解决方案


用户应该如何表明他们想退出?如果他们只是自己结束这个过程,你不需要做任何事情,只需将它放在一个 while 循环中,如下所示:

public class EnterUserName {
    public static void main(String[] args) {
        Scanner user1 = new Scanner(System.in);
        String userName;

        while (true) { //loop forever
            System.out.println("Enter your username: ");

            userName = user1.nextLine();
            System.out.println("Username: " + userName);
        }
    }
}

另一种选择是让他们输入一个特殊的关键字,比如“退出”。这可以像这样实现:

public class EnterUserName {
    public static void main(String[] args) {
        Scanner user1 = new Scanner(System.in);
        String userName;

        while (true) { //loop forever
            System.out.println("Enter your username: ");

            userName = user1.nextLine();

            if (userName.equals("exit")) { //if the user entered "exit"
                break; //break out of the loop (terminates the program in this case)
            }

            System.out.println("Username: " + userName);
        }
    }
}

推荐阅读