作者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