作者WeiMyWoW (...)
看板java
標題[問題] 新手寫BMI遇到計算的問題
時間Wed Jan 23 00:52:25 2013
import java.util.Scanner;
public class BmiTestDive {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
Bmi one = new Bmi();
System.out.println("Your Height");
one.Height = scanner.nextInt()/100;
System.out.println("Your Weight");
one.Weight = scanner.nextInt();
one.Bmi = one.Weight / ( one.Height * one.Height );
System.out.println("Your Bmi is " + one.Bmi);
one.Analysis();
}
}
以上是小弟很弱的程式碼,以身高輸入173 體重輸入 53...但計算出來都呈現53
計算式也沒有錯啊,檢查了好多次,不知道有大大可以為我解答這問題嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.170.38
1F:→ ssccg:Int是整數,你用整數除出來Height都是1 01/23 01:03
2F:→ ssccg:計算式也有錯,括號括這樣會先Height除Height就變1了 01/23 01:04
3F:→ nhlsi:Height = 1 1*1還是1 01/23 01:18
4F:推 cowbaying:用浮點數計算後用decimalformat轉成看你要到小數幾位 01/23 01:18
5F:→ cowbaying:你用整數去除 沒有指定結果的話 預設是商數 01/23 01:20
感謝以上大大們的回答,小弟不才....研究了很久才知道改一下輸入那邊即可
import java.util.Scanner;
public class BmiTestDive {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
Bmi one = new Bmi();
System.out.println("Your Height");
one.Height = scanner.nextFloat()/100;
System.out.println("Your Weight");
one.Weight = scanner.nextFloat();
one.Bmi = one.Weight / ((one.Height * one.Height));
System.out.println("Your Bmi is " + one.Bmi);
one.Analysis();
}
}
※ 編輯: WeiMyWoW 來自: 114.36.170.38 (01/23 02:57)
6F:推 sk8er411:好特別的寫法,先new了一個one的物件,產生自Bmi類別, 03/11 22:32
7F:推 sk8er411:但是實際上在程式段裡卻看不到class Bmi,還是樓主只拿 03/11 22:34
8F:→ sk8er411:有main的出來討論? 03/11 22:35