Java 数字的倍数高达100倍

Java 数字的倍数高达100倍,java,Java,我正在尝试寻找两个数字的公倍数,最多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%

我正在尝试寻找两个数字的公倍数,最多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);
    }
}
import java.util.Scanner;
公共类PrintMultipleOfNo{
公共静态空隙试验(int x,int y)
{
int n=100;

对于(int i=1;i您不需要声明
int n=100;
并使用
继续;
另外,如果您想得到100个答案,则必须仅在if块为true时增加
i

UPD:为了防止无限循环,我们可以添加另一个if块

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);
    }
}
import java.util.Scanner;
公共类PrintMultipleOfNo{
公共静态空隙试验(int x,int y)
{
对于(inti=1,n=0;n<100;i++)
{
如果(x%i==0&&y%i==0)
{
系统输出打印LN(i);
n++;
}
如果(i>x | i>y)
打破
}
}
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int x=sc.nextInt();
int y=sc.nextInt();
打印倍数无测试(x,y);
}
}

您的代码正在打印出所有公因数,最大为100。这不是您想要的吗?计算
lcm
,并将其与范围内的所有数字相乘
[1100]
。您还声明和int n您从未使用过!该
continue
语句看起来是多余的。您想要的是公倍数还是公因数?您的问题说两者都是,这两件事实际上是完全相反的。顺便说一句,代码似乎正在打印1和100之间的公因数。