2017-07-15 2 views
0

zurückkehren. Unten ist mein Code, um das Alter zu berechnen.Möchten Sie zum Hauptmenü in Switch Case

Ich möchte das Hauptmenü wieder anzeigen: Select your choice:... noch einmal, wenn Fall 1 ausgeführt wird.

Ich gab Pause, aber das funktioniert nicht.

Hier in meiner Konsole zeigt wieder Enter your Birth date(DD):, wenn es abgeschlossen ist.

Ich möchte zeigen: Select your choice. Irgendeine Idee?

import java.util.Calendar; 
    import java.util.Scanner; 

    public class Switch { 
     public static void main(String args[]) 
     { 
      System.out.println("Select your choice"); 
      System.out.println("1. To Calculate your Age"); 
      System.out.println("2. Calculator"); 
      System.out.println("3. To Exit"); 
      boolean exit=false; 
      Scanner sc1=new Scanner(System.in); 
      int choice=sc1.nextInt(); 
      do{ 
       switch(choice) 
       { 
       case 1: 

        Calendar c1 = Calendar.getInstance(); 
        int currDate = c1.get(Calendar.DATE); 
        //System.out.println(currDate); 

        int currMonth = c1.get(Calendar.MONTH)+1; 
        //System.out.println(currMonth); 

        int currYear=c1.get(Calendar.YEAR); 
        //System.out.println(currYear); 
        Scanner sc2=new Scanner(System.in); 
        System.out.println("Enter your Birth date(DD): "); 
        int birthDate=sc2.nextInt(); 

        System.out.println("Enter your Birth month(MM): "); 
        int birthMonth=sc2.nextInt(); 

        System.out.println("Enter your Birth year(YYYY): "); 
        int birthYear=sc2.nextInt(); 
        int calculateDate=0; 


        calculateDate=currDate-birthDate; 

        int calculateMonth=currMonth-birthMonth; 
        int calculateYear=currYear-birthYear; 

        System.out.println("You are : "+ calculateDate+"days "+" "+calculateMonth+"months "+calculateYear+"years OLD"); 
        System.out.println("thank you.."); 
        System.out.println("\n"); 
        break; 
      case 2: 

        System.out.println("This is case 2"); 
        break; 

      case 3: 

        exit=true; 
        break; 

      } 
     }while(!exit); 
    } 
} 
+0

Du bist Einstellung nicht 'in Ihrem Schleife – khelwood

+0

Setzen ganze Programm in Schleife choice' (platziere {as erste Zeile Ihrer Hauptmethode) – PerunSS

Antwort

2

Verschieben Sie Ihre unteren Zeilen innerhalb von ... während while wie ausgeführt wird mindestens einmal.

 System.out.println("Select your choice"); 
     System.out.println("1. To Calculate your Age"); 
     System.out.println("2. Calculator"); 
     System.out.println("3. To Exit"); 
     Scanner sc1 = new Scanner(System.in); 
     int choice = sc1.nextInt(); 

SwitchCase.java

import java.util.Calendar; 
import java.util.Scanner; 

public class SwitchCase { 
    public static void main(String args[]) { 
     boolean exit = false; 
     do { 
      System.out.println("Select your choice"); 
      System.out.println("1. To Calculate your Age"); 
      System.out.println("2. Calculator"); 
      System.out.println("3. To Exit"); 
      Scanner sc1 = new Scanner(System.in); 
      int choice = sc1.nextInt(); 
      switch (choice) { 
      case 1: 
       Calendar c1 = Calendar.getInstance(); 
       int currDate = c1.get(Calendar.DATE); 
       // System.out.println(currDate); 
       int currMonth = c1.get(Calendar.MONTH) + 1; 
       // System.out.println(currMonth); 
       int currYear = c1.get(Calendar.YEAR); 
       // System.out.println(currYear); 
       Scanner sc2 = new Scanner(System.in); 
       System.out.println("Enter your Birth date(DD): "); 
       int birthDate = sc2.nextInt(); 
       System.out.println("Enter your Birth month(MM): "); 
       int birthMonth = sc2.nextInt(); 
       System.out.println("Enter your Birth year(YYYY): "); 
       int birthYear = sc2.nextInt(); 
       int calculateDate = 0; 
       calculateDate = currDate - birthDate; 
       int calculateMonth = currMonth - birthMonth; 
       int calculateYear = currYear - birthYear; 
       System.out.println("You are : " + calculateDate + "days " + " " 
         + calculateMonth + "months " + calculateYear 
         + "years OLD"); 
       System.out.println("thank you.."); 
       System.out.println("\n"); 
       break; 
      case 2: 
       System.out.println("This is case 2"); 
       break; 
      case 3: 
       exit = true; 
       break; 
      } 
     } while (!exit); 
    } 
} 

Sample Run

Select your choice 
1. To Calculate your Age 
2. Calculator 
3. To Exit 
1 
Enter your Birth date(DD): 
1 
Enter your Birth month(MM): 
1 
Enter your Birth year(YYYY): 
1920 
You are : 14days 6months 97years OLD 
thank you.. 


Select your choice 
1. To Calculate your Age 
2. Calculator 
3. To Exit 
+1

Ohhh !! Ja ... Richtig. Ich habe es nur vergessen. Danke. –

0

Weisen Sie dem Variablen-Exit nur "wahr" zu, wenn der Fall 1 ausgeführt wird.

0
You have given option to select the choices outside the loop.The code for selecting the options must be inside loop. 
Below is the updated code which may work: 

import java.util.Calendar; 
import java.util.Scanner; 

import java.util.Calendar; 
import java.util.Scanner; 

public class Switch { 
    public static void main(String args[]) 
    { 
     boolean exit; 
     do{ 
       System.out.println("Select your choice"); 
       System.out.println("1. To Calculate your Age"); 
       System.out.println("2. Calculator"); 
       System.out.println("3. To Exit"); 
       exit=false; 
       Scanner sc1=new Scanner(System.in); 
       int choice=sc1.nextInt(); 
        switch(choice) 
        { 
        case 1: 

         Calendar c1 = Calendar.getInstance(); 
         int currDate = c1.get(Calendar.DATE); 
         //System.out.println(currDate); 

         int currMonth = c1.get(Calendar.MONTH)+1; 
         //System.out.println(currMonth); 

         int currYear=c1.get(Calendar.YEAR); 
         //System.out.println(currYear); 
         Scanner sc2=new Scanner(System.in); 
         System.out.println("Enter your Birth date(DD): "); 
         int birthDate=sc2.nextInt(); 

         System.out.println("Enter your Birth month(MM): "); 
         int birthMonth=sc2.nextInt(); 

         System.out.println("Enter your Birth year(YYYY): "); 
         int birthYear=sc2.nextInt(); 
         int calculateDate=0; 


         calculateDate=currDate-birthDate; 

         int calculateMonth=currMonth-birthMonth; 
         int calculateYear=currYear-birthYear; 

         System.out.println("You are : "+ calculateDate+"days "+" "+calculateMonth+"months "+calculateYear+"years OLD"); 
         System.out.println("thank you.."); 
         System.out.println("\n"); 
         break; 
       case 2: 

         System.out.println("This is case 2"); 
         break; 

       case 3: 

         exit=true; 
         break; 

       } 
      }while(!exit); 
    } 
} 
+0

Ja !! Ich habe nur vergessen, das zu tun ... Vielen Dank. –