簡體   English   中英

除非有指示,我如何使程序不關閉[距離轉換]

[英]How do I make my program not close until instructed [Distance Conversion]

我似乎無法弄清楚在while循環中輸入什么地方或輸入什么內容。 一切正常,但是輸入轉換后,如何使其詢問我是否要輸入其他問題。

import java.util.Scanner; 

public class DistanceConversion 
{ 
    public static void showKilometers(double meters)
    {
        double kilometers = meters * 0.001; 
        System.out.println(meters +" meters is " + kilometers + " kilometers."); 
    } 

    public static void showInches(double meters) 
    { 
        double inches = meters * 39.37; 
        System.out.println(meters +" meters is " + inches + " inches."); 
    } 

    public static void showFeet(double meters) 
    { 
        double feet = meters * 3.281; 
        System.out.println(meters +" meters is " + feet + " feet."); 
    } 

    public static void quitProgram() 
    { 
        System.out.println("Goodbye!"); 
        System.out.println(0); 
    } 
    public static void showMenu() 
    { 
        System.out.println(" 1. Convert to kilometers "); 
        System.out.println(" 2. Convert to inches "); 
        System.out.println(" 3. Convert to feet "); 
        System.out.println(" 4. Quit the program "); 
        System.out.println(" "); 
    } 

    public static void main (String [] args) 
    { 
        double meters; 
        int choice; 
        Scanner scan = new Scanner (System.in); 

        System.out.print("Enter a distance in meters: "); 
        meters = scan.nextDouble(); 
        showMenu(); 
        choice = scan.nextInt(); 

        switch(choice) 
        { 
            case 1:showKilometers(meters); 
            break; 
            case 2:showInches(meters); 
            break; 
            case 3:showFeet(meters); 
            break; 
            case 4:quitProgram(); 
        }
    }
}

您想重復什么? 整個程序? 然后,又將“整個程序”封裝起來。 主邏輯帶有while循環,檢查輸入是否等於4或其他任意退出int。

在頂部聲明“ int choice”,然后將其余內容括起來。

while(choice >= 1 && choice <=3)
{
   //main-method code here
}

編輯(為清楚起見):

int choice = 0; 
while(choice != 4)
{
        double meters; 
        Scanner scan = new Scanner (System.in); 

        System.out.print("Enter a distance in meters: "); 
        meters = scan.nextDouble(); 
        showMenu(); 
        choice = scan.nextInt(); 

        switch(choice) 
        { 
            case 1:showKilometers(meters); 
            break; 
            case 2:showInches(meters); 
            break; 
            case 3:showFeet(meters); 
            break; 
            case 4:quitProgram(); 
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM