2012-08-02 35 views
2

好吧,我是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"); 
     } 
    } 
} 

在案例一完成執行後,程序退出。如何將控制權交還給主體,以便它可以再次啓動,直到用戶有意退出爲止?

回答

0

試試這個....是說別人

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"); 
     } 
     } 
    } 
} 
+0

謝謝!工作得很好 – 2012-08-04 08:11:25

8

從main中提取代碼到一個新函數中,然後調用該函數來傳遞控件並重新開始。

+0

+1好主意:) – MadProgrammer 2012-08-02 09:23:31

+0

確實,不錯的選擇! +1 – Cyzanfar 2014-11-03 02:22:54

1
boolean exitLoop = false; 
while (!exitLoop) { 
    // insert code here 
} 
1

引入一個變量:

boolean run = true; 

把你的代碼在一個循環:

while(run){ 
    //your code 
} 

如果用戶選擇只設置運行跳槽false,程序將退出。

+0

請不要使用MadProgrammer – amicngh 2012-08-02 09:26:29

+0

給出的重複答案,但是當我開始寫作時,只有第一個答案出現。 – Dahaka 2012-08-02 09:27:49

0

你可以遞歸調用主(不推薦),或更好的,遵循@ipavlic給出的答案,並把它放在一個循環像@達哈卡。