你如何让某个代码块(在Java中)一直重复直到用户选择退出?
How do you get a certain block of code (in Java) to keep repeating until the user chooses to exit?
例如,在下面的代码中,我如何才能保留 运行“输入用户名”部分,直到用户选择退出?
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);
}
}
用户应该如何表示他们想退出?如果他们自己结束进程,你不需要做任何事情,只需将它放在一个 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);
}
}
}
代码新手可能很难。
如果您希望您的程序继续剩余的代码,您可以在循环中使用 break
(for
循环、while
循环、do while
循环),或者您可以使用System.exit(0)
立即停止程序。
我假设您不需要验证。如果您需要它,只需在代码 expamle
中将 else
更改为 else if (expression)
我也希望你修正变量的命名方式,你应该像例子一样命名,以示澄清。并且你应该在循环 String userName;
之外声明变量,这是一个很好的做法。这是代码示例:
public class EnterUserName {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String userName;
while (true) { // Loop forever until correct input or choose "1"
System.out.println("Enter your username or enter 1 to exit: ");
userName = input.nextLine();
if (userName.equals("1")) {
System.exit(0); // immediately stop the program
// Or you can use break too. If you use break, "End program" will be printed;
// break;
} else { // You can use else if here to have validation of Username
System.out.println("You have enter Username: " + userName);
break; // Correct input, break out the loop
}
}
System.out.println("End program");
}
}
例如,在下面的代码中,我如何才能保留 运行“输入用户名”部分,直到用户选择退出?
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);
}
}
用户应该如何表示他们想退出?如果他们自己结束进程,你不需要做任何事情,只需将它放在一个 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);
}
}
}
代码新手可能很难。
如果您希望您的程序继续剩余的代码,您可以在循环中使用 break
(for
循环、while
循环、do while
循环),或者您可以使用System.exit(0)
立即停止程序。
我假设您不需要验证。如果您需要它,只需在代码 expamle
中将else
更改为 else if (expression)
我也希望你修正变量的命名方式,你应该像例子一样命名,以示澄清。并且你应该在循环 String userName;
之外声明变量,这是一个很好的做法。这是代码示例:
public class EnterUserName {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String userName;
while (true) { // Loop forever until correct input or choose "1"
System.out.println("Enter your username or enter 1 to exit: ");
userName = input.nextLine();
if (userName.equals("1")) {
System.exit(0); // immediately stop the program
// Or you can use break too. If you use break, "End program" will be printed;
// break;
} else { // You can use else if here to have validation of Username
System.out.println("You have enter Username: " + userName);
break; // Correct input, break out the loop
}
}
System.out.println("End program");
}
}