求JAVA程序详细解释

来源:百度知道 编辑:UC知道 时间:2024/06/25 09:23:43
public class TextMath {
public static void main(String args[]){
int sum,j;
j=0;
sum = 1;
while(sum!=0){
if(sum%2==1 && sum%3==2&&sum%5 ==4&& sum %6 ==5 &&sum%7==0){
System.out.println(sum);
j=sum;
}
if(sum == j)
break;
sum ++;
}
}
}
输出结果为什么是119呢?

1, while(sum!=0)sum!=0就执行{}的代码

2,if(sum%2==1 && sum%3==2&&sum%5 ==4&& sum %6 ==5 &&sum%7==0)里面的条件全部成功就执行
System.out.println(sum);
j=sum;

3, if(sum == j) break; 相等就跳出

4,sum ++; 自增

当2中j=sum执行了3就会成立跳出

为什么119是因为1到118没有一个数字满足:
sum%2==1 && sum%3==2&&sum%5 ==4&& sum %6 ==5 &&sum%7==0

程序的主要输出是根据条件来:
条件为一个数余2=1,余3=2,余5=4,余6=5,余7=0
例如11余6,即为11除以6除不尽,剩5.
根据条件,我们可以画出函数图:
x,y轴均为数据,根据上面的每一个条件可以画出对应的直线。所有条件相交的点即为答案。

//这些为Sum的判断条件
if(sum%2==1 && sum%3==2&&sum%5 ==4&& sum %6 ==5 &&sum%7==0)
{
//进入条件后执行语句,把J=sum;
System.out.println(sum);
j=sum;
}
//通过上个判断成立后这条判断才会成立
if(sum == j)
//条件成立后因为break在sum++之前所以会直接跳出而不执行sum++
break;
sum ++;
}