数量的倍数高达100倍

时间:2017-09-18 10:11:00

标签: 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%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);
    }
}

1 个答案:

答案 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);
    }
}