java中两个数相除,得到的百分数怎么求??

publicclassa{publicstaticvoidmain(String[]args){intleng=5900;intwidth=2350;intheight=... public class a {
public static void main(String[] args) {
int leng = 5900;
int width = 2350;
int height = 2393;
int l = 120;
int w = 130;
int h = 333;
int ll = leng/l;//49
int ww = width/w;//15
int hh = height/h;//7
int sum = (ll)*(ww)*(hh);//5145
int lwh = l*w*h;
int per = (lwh*sum)*100/(leng*width*height);
System.out.println(per + "%");
}
}

为什么我求出来的是0啊??大侠们,帮帮忙啊!!!!
展开
 我来答
xgust
推荐于2018-05-13 · TA获得超过560个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:941万
展开全部
数据的值,远超于int long double的表示范围了。
要用BigInteger 和BigDecimal这些大数据类型
+——add();

System.out.println(BigInteger.valueOf(10).add(BigInteger.valueOf(5)));

- ——subtract();

System.out.println(BigInteger.valueOf(10).subtract(BigInteger.valueOf(5)));

*——multiply();

System.out.println(BigInteger.valueOf(10).multiply(BigInteger.valueOf(5)));

/——divide();
System.out.println(BigInteger.valueOf(10).divide(BigInteger.valueOf(5)));
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dongsonglidong
推荐于2016-12-01 · TA获得超过1038个赞
知道答主
回答量:77
采纳率:0%
帮助的人:65.2万
展开全部
哥们,超int范围了,给你改好了,你只要改变一下操作的顺序就可以了
public class exercise1 {
public static void main(String[] args) {
int leng = 5900;
int width = 2350;
int height = 2393;
int l = 120;
int w = 130;
int h = 333;
int ll = leng/l;//49
int ww = width/w;//18
int hh = height/h;//7
int sum = (ll)*(ww)*(hh);//5145
int lwh = l*w*h;
double a=lwh/leng;
double b=sum/width;
double per = a*b*100/height;
System.out.println(per + "%");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Gi66no
2012-01-25
知道答主
回答量:17
采纳率:0%
帮助的人:12.1万
展开全部
你这个数值超范围了自己拿计算器算算也知道 int per不能定义浮点数
记得类名首字母大写哦 亲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
技术剪辑
2012-01-24 · 优秀的签名突显我的个性
技术剪辑
采纳数:75 获赞数:166

向TA提问 私信TA
展开全部
int 类型 没 有小数用double类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式