为什么这个JAVA程序计算出来的结果是这样的呢?

publicclassBMI{publicstaticvoidmain(Stringargs[]){;intweight=Integer.parseInt(args[0]... public class BMI{
public static void main(String args[]){

;

int weight=Integer.parseInt(args[0]);

int height=Integer.parseInt(args[1]);

int heightsquare=(height/100)*(height/100);

int bmi=(weight/heightsquare);

System.out.println("Your weight:"+args[0]+"kg");

System.out.println("Your height:"+args[1]+"cm");

System.out.println("Your BMI:"+(weight/heightsquare));}}

我输入java BMI 75 170
结果显示的是Your weight: 75 kg
Your height: 170 cm
Your BMI: 75
也就是说BMI算错了,可是我不知道我错在哪儿了?请高手指教
展开
 我来答
龅牙兔子爱吃鱼
2011-02-27 · TA获得超过942个赞
知道小有建树答主
回答量:1230
采纳率:0%
帮助的人:524万
展开全部
int heightsquare=(height/100)*(height/100);
这败液销一句:(height/100)这个计算的结果是 1 ,埋空由于height是int类型的,除以100得到的结果也是int的,所以前后得到的都是1,相乘也是1,所以 int heightsquare=1;察游
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happyones2006
2011-02-27
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
int heightsquare=(height/100)*(height/100);
该答案是1,因为int型的170/100=1,这是因为整型在闷态掘整除后闭腔还是整型,而小数点后面所有蚂核值会被忽略。
解决的办法是强转成double.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潇离夜
2011-02-27 · 超过17用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
计算的写竖闷错了吧升尘。。平方不是应该是height^2吗??你把output那里的余笑弯改成上面那个变量名试试。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式