我正在试图找到两个数字的常见倍数,最多100次,但实际上它只能打印5到10个常用倍数。
请给我关于如何打印100个常见因素的建议。
import java.util.Scanner;
public class PrintMultipleOfNo {
public static void test(int x,int y)
{
int n=100;
for(int i=1;i<=100;i++)
{
if(x%i==0&&y%i==0)
{
System.out.println(i);
}
continue;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y;
Scanner sc=new Scanner(System.in);
x = sc.nextInt();
y = sc.nextInt();
PrintMultipleOfNo.test(x,y);
}
}
答案 0 :(得分:2)
您无需声明int n=100;
并使用continue;
此外,如果您想获得100个答案,则只有在if-block为真时才必须增加i
。
UPD:为了防止无限循环,我们可以添加另一个if-block。
import java.util.Scanner;
public class PrintMultipleOfNo {
public static void test(int x, int y)
{
for(int i = 1, n = 0; n < 100; i++)
{
if(x%i == 0 && y%i == 0)
{
System.out.println(i);
n++;
}
if (i > x || i > y)
break;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
PrintMultipleOfNo.test(x,y);
}
}