请老师看一下,为什么结果输出为200-300之间依次输出,而不是只输出237和273,
package com.imooc.operator;
public class ForDemo {
public static void main(String[] args) {
int ge,shi,bai,n;
//定义bai,shi,ge,三个数字
for(n=200;n<=300;n++) {
bai=n/100;
//取出百位
shi=n%100/10;
//取出十位;
ge=n%10;
//取出个位
int mul=bai*shi*ge;
//计算三个数的乘积
int sum=bai+shi+ge;
//计算三个数的和
//判断是否三个数的和=42并且三个数的乘积等于12
if((sum==12)&(mul==42));{
System.out.println(n);
}
}
}
}
同时请附上一个正确答案,谢谢
正在回答
你好!你的代码写得没什么大问题,只是if语句后面多了一个分号,如下图所示,把分号去掉就可以了。因为if语句后面如果不写大括号,那么只有一条语句跟在if语句后面执行。因此,if语句后有分号,相当于满足if条件执行了一个空语句。后面的输出语句和if没有关系,也就不受if语句的控制,会把每次循环的结果都输出。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星