输出200-300之间的数字求积是42 和是12
不懂为什么十位是这样表达(i%10)/10 个位是i%10 百位是i%100
57
收起
正在回答 回答被采纳积分+1
3回答
慕粉4037919
2017-09-20 12:47:36
for (int sum = 200; sum <= 300; sum++) {
int a = sum / 100; //百位
int b = sum % 100 / 10;//十位
int c = sum % 10;//个位
if(((a+b+c)==12)&&((a*b*c)==42)){
System.out.println(sum);
}
}
看看这个。
你不明白的原因是 各个位的表达
假设sum==256
那a = 256/100 结果是2
数学上来说这个的结果是2.56 虽说这个a 也是2.56但是 a 是一个int型 sum也是一个int型 100也是一个int 他只会做整除运算 所以后面的小数被舍掉了
如果你想得到一个2.56可以double a=sum/100.00这样子 (//跑题了。。。)
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星