好吧,我是Java新手,遇到了一个问题。当switch语句的某个部分执行完毕时,我试图让程序从main重新启动。这是我的代码:
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int ans;
System.out.println("Choose an option");
System.out.print("1: To see membersn2: To add membern3: To delete a membern Option: ");
ans = input.nextInt();
switch(ans){
case 1:
//code to see members
break;
case 2:
//code to add members
break;
case 3:
//code to delete members
break;
default:
System.out.println("Invalid option");
}
}
}
案例一执行完毕后,程序退出。如何将控制权传递回main,以便它可以重新启动,直到用户故意退出?
将代码从main提取到一个新函数中,然后调用该函数来传递控制并重新开始。
boolean exitLoop = false;
while (!exitLoop) {
// insert code here
}
引入一个变量:
boolean run = true;
把你的代码放在一个循环中:
while(run){
//your code
}
如果用户选择退出,只需将run设置为false
,程序就会退出。
试试这个。。。。
import java.util.Scanner;
public class Test{
public static void main(String[] args){
boolean run = true;
while(run){
Scanner input = new Scanner(System.in);
int ans;
System.out.println("Choose an option");
System.out.print("1: To see membersn2: To add membern3: To delete a membern4: To end the programn Option: ");
ans = input.nextInt();
switch(ans){
case 1:
//code to see members
break;
case 2:
//code to add members
break;
case 3:
//code to delete members
break;
case 4:
//it will end the program
run=false;
break;
default:
System.out.println("Invalid option");
}
}
}
}
您可以递归调用main(不推荐),或者更好的做法是,按照@ipavlic给出的答案,并将其放入循环中,就像@Dahaka等其他人所说的那样。