我正在為學校建立一個奇怪的BMI/BMR計算器,現在代碼做了我希望它做的事情。但我需要添加一個if(我想),以確保用戶不會輸入過小或過大的數值。用戶只允許在0.5和2.2之間輸入 "vikt"。如果用戶輸入了一個錯誤的值,我需要程式執行一個其他程式,列印出 "不,你做錯了"。
我的問題是,我不知道該把if放在哪里,以便代碼仍能作業。 所以我的問題是,我應該在哪里以及如何在我的代碼中添加一個if?
public static void main(String[] args) {
Scanner input = new Scanner (System.in)。
//Ledtext[/span]。
System.out.println("Ber?kna ditt BMI"/span>)。
System.out.print("Tryck j f?r att starta: " ) 。
char forts?tt = input.next().charAt(0)。
System.out.println(" ")。
do
{
//Anv?ndaren matar in sin data。
System.out.print("Ange personens vikt(kg): ")。)
double vikt = input.nextDouble();
System.out.print("Ange personens l?ngd(m): ")。)
double l?ngd = input.nextDouble() 。
System.out.print("Ange personens ?lder: "/span>)。
double ?lder = input.nextDouble();
System.out.println(" "/span>)。
System.out.println("Ber?knat BMI for?r b?de m?n och kvinnor ?r " bmi(vikt, l?ngd))。
System.out.println("Ber?knat BMR f?r m?n ?r: "/span> kalorier_M?n(vikt, l?ngd, ?lder))。
System.out.println("Ber?knat BMR for?r kvinnor ?r: " kalorier_Kvinnor(vikt, l?ngd, ?lder))。
System.out.println(" "/span>)。
System.out.print("Forts?tta? (j/n): ")。)
forts?tt = input.next().charAt(0)。
}
while (forts?tt != 'n'/span>);
}
static double bmi(double vikt。double l?ngd){
double bmiM?nochKvinnor;
bmiM?nochKvinnor = (1.3 * vikt) / Math.pow(l?ngd, 2.5) 。
return bmiM?nochKvinnor。
}
static double kalorier_M?n (double vikt,double l?ngd,double ?lder){
double manBmr;
manBmr = (9.99 * vikt) (6.25 * l?ngd) - (4.92 * ?lder) 5;
return manBmr;
}
static double kalorier_Kvinnor (double vikt, double l?ngd,double ?lder) {
double kvinnaBmr;
kvinnaBmr = (9.99 * vikt) (6.25 * l?ngd) - (4.92 * ?lder) -161;
return kvinnaBmr;
}
uj5u.com熱心網友回復:
根據我的理解,你想限制用戶可以作為這一行的輸入的值:
double vikt = input.nextDouble()。
你可以簡單地通過在后面添加一個if陳述句來做到這一點,在那里你檢查輸入的值。如果該值不符合條件,你可以發送一條訊息并繼續回圈。
if (vikt < 0.5 || vikt > 2.2) {
//發送一些資訊。
continue。
}
uj5u.com熱心網友回復:
你可以在讀取數值后直接檢查,使用像這樣的if else陳述句:
if(vikt > 2.2 || vikt < 0.5){
System.out.println("nope you did it wrong")。
return; // this will stop the code.
}
處理這個問題的一個更好的方法是下面這個函式:
private static double retrieveValue(掃描器輸入。double min, double max, String requestMessage) {
while(true){
System.out.println(requestMessage)。
double measure = input.nextDouble() 。
if (measure >= min & & measure <= max){
return measure。
} else{
System.out.println("此值不允許,請重試:")。
}
}
}
你可以這樣呼叫它:
double vikt = retrieveValue(input, 0。 5, 2.2, "Ange personens vikt (kg):")。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/331550.html
標籤:
下一篇:psycopg2操作錯誤
