- System.out.println("请输入一个正整数:");
- Scanner in = new Scanner(System.in);
- long num = in.nextLong();
- int[] count = new int[10];
- while (num != 0) {
int n = (int) (num % 10);
count[n]++;
num /= 10;
- }
如果输入的值为12321(即num值为12321),分析每次循环后循环体内每个变量的值的变化。第6行语句为何要有类型强制转换?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 於黾 2023-04-24 15:22关注
1.while循环是在对n的每一位进行分解
num%10得到num的个位,num/=10去掉个位
得到的数字作为索引增加count[n]++,最后统计出的是num里各个数字的个数
count[0]里存的是0的个数,count[1]里存的是1的个数
2.num是long型,那么num%10也是long型
java是强类型的编程语言
一个小类型可以直接赋值给一个大的类型,隐式转换
而一个大类型不可以赋值给一个小类型,必须强制转换本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么