我希望能夠一遍又一遍循環我的程序,具體取決於用戶輸入。能否請你看看下面我的代碼,幫助我瞭解如何可以做到這一點...我如何循環整個程序?
import java.util.*;
public class Lab4 {
public static void main(String[] args){
System.out.println("Body Fat Calculator");
double A1,A2,A3,A4,A5,B; //female
double a1,a2,b; //male
double bodyWeight,wristMeasurement,waistMeasurement,hipMeasurement,forearmMeasurement; //both
double bodyFat,bodyFatpercent; //both
Scanner body = new Scanner (System.in);
System.out.println ("Enter Gender (m/f): ");
char gender = body.nextLine().charAt(0);
while ((gender != 'm') && (gender != 'f')) {
System.out.println ("Unknown gender, Enter gender again (m/f); ");
gender = body.nextLine().charAt(0);
}
do {
if (gender == 'm') {
System.out.println ("Enter Your Body Weight: ");
bodyWeight = body.nextInt();
System.out.println ("Enter Your Waist Measurement: ");
waistMeasurement = body.nextDouble();
a1 = (bodyWeight * 1.082) + 94.42; //male formula
a2 = waistMeasurement * 4.15;
b = a1 - a2;
bodyFat = bodyWeight - b;
bodyFatpercent = bodyFat * 100/bodyWeight;
System.out.printf ("%s %.2f%%%n", "Your Bodyfat Percentage is: ", bodyFatpercent);
}
else {
System.out.println ("Enter Your Body Weight: ");
bodyWeight = body.nextInt();
System.out.println ("Enter Your Wrist Measurement: ");
wristMeasurement = body.nextDouble();
System.out.println ("Enter Your Waist Measurement: ");
waistMeasurement = body.nextDouble();
System.out.println ("Enter Your Hip Measurement: ");
hipMeasurement = body.nextDouble();
System.out.println ("Forearm Your Measurement: ");
forearmMeasurement = body.nextDouble();
A1 = (bodyWeight * 0.732) + 8.987; // female formula
A2 = wristMeasurement/3.14; //at fullest point
A3 = waistMeasurement * 0.157; //at navel
A4 = hipMeasurement * 0.249; //at fullest point
A5 = forearmMeasurement * 0.434; //at fullest point
B = A1 + A2 - A3 - A4 + A5;
bodyFat = bodyWeight - B;
bodyFatpercent = bodyFat * 100/bodyWeight;
System.out.printf ("%s %.2f%%%n", "Your Bodyfat Percentage is: ", bodyFatpercent);
}
}
while (true){
System.out.println ("Would You Like to Use the Calculator Again (y/n)? ");
char answer = body.nextLine();
// should loop here to run the program again
}
}
你有沒有嘗試過使用循環結構(比如'for'或'while')? –