[英]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.