这个星期在学习java的过程中,遇到了一点难懂的地方,刚开始自己做了一遍,后来老师讲了一遍,在重新打代码的过程中,还是存在了一些问题,有不懂的地方,通过问同学会了。
试题:
从控制台打印输出1000以内所有的完数。
代码:
public class Ws{
public static void main(String[] args){
//在1-1000之内
for(int i=1;i<=1000;i++){
int k=0;
int sum=0;
int yz[]=new int[50];
for(int j=1;j<i;j++){
//判断是否是 完数
if(i%j==0){
yz[k]=j;
k++;
sum=sum+j;
}
}
if(i==sum){
System.out.println(i+"是完数");
System.out.println(i+"是个完数,其因子是:");
for(int j=0;j<yz.length;j++){
if(yz[j]!=0){
System.out.print(yz[j]+" ");
}
}
}
}
}
}