這會影響到我,直到我理解正確。java - 結束用戶輸入的do-while循環
我目前正在參加我的第二個OOP課程,除了我們這次使用Java。除了循環之外,一切都應該如此。輸入姓名,年齡,體重,身高(分別爲英尺和英寸),並輸出與您所屬類別(體重不足,體重正常,超重,肥胖)相關的BMI。
對於此作業,我們應該使用循環輸入儘可能多的名稱,直到輸入「X」以退出。
請看看我的代碼,並告訴我我需要做些什麼來完成這項工作。我什至嘗試了一段時間循環,並沒有奏效。
import java.util.Scanner;
public class Lab1Main {
public static void main(String[] args)
{
System.out.println("BMI Calculator");
// Start Scanner
Scanner input = new Scanner(System.in);
// Declare variables
String u_name;
Double u_age, u_feet, u_inches, u_weight;
// Create new HealthProfile
HealthProfile client = new HealthProfile();
// Start do-while
do {
// Enter name
System.out.print("Enter name or X to quit: ");
u_name = input.nextLine();
// Enter age
System.out.print("Enter your age: ");
u_age = Double.parseDouble(input.nextLine());
// Enter height (feet)
System.out.print("Enter your height(feet): ");
u_feet = Double.parseDouble(input.nextLine());
// Enter height (inches)
System.out.print("Enter your height(inches): ");
u_inches = Double.parseDouble(input.nextLine());
// Enter weight
System.out.print("Enter your weight: ");
u_weight = Double.parseDouble(input.nextLine());
// Set variables from HealthProfile
client.setName(u_name);
client.setAge(u_age);
client.setFeet(u_feet);
client.setInches(u_inches);
client.setWeight(u_weight);
// Display results
System.out.println("********** HEATLH PROFILE FOR " + client.getName() + " **********");
System.out.println("Age: " + client.getAge());
System.out.println("Weight: " + client.getWeight());
System.out.println("Height (in inches): " + client.getHeight());
System.out.println("Your BMI is : " + client.getBMI());
System.out.println("You are considered: " + client.getCategory());
System.out.println("Your max heart rate is: " + client.getMaxHR());
} while (u_name != "X");
System.out.println();
}// end main
}// end class
問題的答案已經存在 –
@Nazimch,如果它確實,5個小時我研究了我的課程材料和這裏沒有產生一個工作結果。這個確切的問題是不太可能存在的。 – cmdshorty
這個確切的問題*,也許不是。但是這個*場景*(循環直到某個特定的輸入)已被問及數千次。這個*問題*(比較Java中的字符串)已經被討論太多次了。 – shmosel