我试图创建一个简单的程序来查找数字的所有除数。我被指示将每个除数存储到一个字符串中并使用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));
}
}
答案 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;
}
}