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

Java 有没有一种方法,我可以循环这个程序,在它执行循环的一部分后重新开始,java,Java,好的,我是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");

好的,我是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 members\n2: To add member\n3: To delete a member\n 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 members\n2: To add member\n3: To delete a member\n4: To end the program\n 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等其他人的说法将其放入循环中。

请不要使用MadProgrammer给出的重复答案对不起,但当我开始写作时,只有第一个答案。