【发布时间】:2014-10-28 19:47:02
【问题描述】:
我在 java 中尝试了这个程序,用于输入最多 1000 个整数的有界常量。没有得到预期的输出:(
package perfect.numbers;
import java.util.ArrayList;
public class PerfectNumbers {
public static void main(String[] args) {
long num=1000; int sum = 0;
ArrayList<Integer> perfectList = new ArrayList<>();
ArrayList<Integer> factorList = new ArrayList<>();
for(int i=1; i<num; i++)
{
for(int j=1; j<i/2; j++)
{
if(i%j==0)
{
factorList.add(j);
}
for(int h=0; h<factorList.size(); h++)
sum=sum+factorList.get(h);
if(sum==i)
perfectList.add(i);
sum=0;
}
}
System.out.println("The Perfect numbers upto 1000 are : ");
for(Integer item : perfectList)
{
System.out.print(item + "/t");
}
}
}
【问题讨论】:
-
你得到了什么输出?
-
你期待什么?
-
可能是完美的数字?
-
我已经编辑了你的类,所以它看起来像一个普通的代码,写代码时请记住这一点
-
@kocko - 我得到一个空白输出,只有“直到 a000 的完美数字是:”
标签: java list arraylist numbers perfect-numbers