寻找整数因子

时间:2014-10-15 22:02:04

标签: java while-loop

我试图创建一个简单的程序来查找数字的所有除数。我被指示将每个除数存储到一个字符串中并使用while循环。我不知道为什么,但我的程序没有运行。它编译时没有错误,但没有输出。

import static java.lang.System.*;

public class Divisors
{
    public static String getDivisors( int number )
    {
        String divisors="";
        int n=1;
        while(n < number)
        {
            if (number % n==0)
            {
                divisors +=" "+ n;
            }
        }
        return number+ " has divisors:"+ divisors;
    }
}

这是我的测试人员类:

import static java.lang.System。*;

public class Lab09f
{
    public static void main( String args[] )
    {
        Divisors d = new Divisors();

        out.println(d.getDivisors(10));
        out.println(d.getDivisors(45));
        out.println(d.getDivisors(14));
        out.println(d.getDivisors(1024));
        out.println(d.getDivisors(1245));
        out.println(d.getDivisors(33));
        out.println(d.getDivisors(65535));
    }
}

2 个答案:

答案 0 :(得分:4)

while(n < number)
    {
        if (number % n==0)
        {
            divisors +=" "+ n;
        }
        n++;
    }
    return number+ " has divisors:"+ divisors;
}

你没有加入你的n所以永远循环

答案 1 :(得分:0)

你需要递增n:

public class Divisors
{
    public static String getDivisors( int number )
    {
        String divisors="";
        int n=1;
        while(n < number)
        {
            if (number % n==0)
            {
                divisors +=" "+ n++;
            }
        }
        return number+ " has divisors:"+ divisors;
    }
}