有没有一种方法可以让我循环这个程序,在它执行部分循环后重新开始



好吧,我是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等其他人所说的那样。