为什么这个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算错了,可是我不知道我错在哪儿了?请高手指教 展开
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算错了,可是我不知道我错在哪儿了?请高手指教 展开
展开全部
int heightsquare=(height/100)*(height/100);
这败液销一句:(height/100)这个计算的结果是 1 ,埋空由于height是int类型的,除以100得到的结果也是int的,所以前后得到的都是1,相乘也是1,所以 int heightsquare=1;察游
这败液销一句:(height/100)这个计算的结果是 1 ,埋空由于height是int类型的,除以100得到的结果也是int的,所以前后得到的都是1,相乘也是1,所以 int heightsquare=1;察游
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int heightsquare=(height/100)*(height/100);
该答案是1,因为int型的170/100=1,这是因为整型在闷态掘整除后闭腔还是整型,而小数点后面所有蚂核值会被忽略。
解决的办法是强转成double.
该答案是1,因为int型的170/100=1,这是因为整型在闷态掘整除后闭腔还是整型,而小数点后面所有蚂核值会被忽略。
解决的办法是强转成double.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算的写竖闷错了吧升尘。。平方不是应该是height^2吗??你把output那里的余笑弯改成上面那个变量名试试。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询