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啊??大侠们,帮帮忙啊!!!! 展开
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啊??大侠们,帮帮忙啊!!!! 展开
4个回答
展开全部
数据的值,远超于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)));
要用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)));
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们,超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 + "%");
}
}
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 + "%");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个数值超范围了自己拿计算器算算也知道 int per不能定义浮点数
记得类名首字母大写哦 亲
记得类名首字母大写哦 亲
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int 类型 没 有小数用double类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询