我想打印出所有总理的人数从一系列与的方法。我可以做到这一int 但不知道如何返回的某些数字从阵列。谢谢你的帮助!

public static boolean isPrime(int [] tab) {
        boolean prime = true;
        for (int i = 3; i <= Math.sqrt(tab[i]); i += 2)
            if (tab[i] % i == 0) {
                prime = false;
                break;
            }
        for(int i=0; i<tab.length; i++)
        if (( tab[i]%2 !=0 && prime && tab[i] > 2) || tab[i] == 2) {
            return true;
                } else {
            return false;
        }
        //return prime;

}

谢谢你们两个。似乎是其解决:

public static void isPrime(int[] tab) {
        for (int i = 0; i < tab.length; i++) {
            if (isPrimeNum(tab[i])) {
                System.out.println(tab[i]);
            }
        }


    }

    public static boolean isPrimeNum(int n) {
        boolean prime = true;
        for (long i = 3; i <= Math.sqrt(n); i += 2) {
            if (n % i == 0) {
                prime = false;
                break;
            }
        }
        if ((n % 2 != 0 && prime && n > 2) || n == 2) {
            return true;

        } else {
            return false;
        }
    }
有帮助吗?

解决方案

我建议你单独这两种方法:

  • 一种方法,以确定是否有一个单一的数量是总理
  • 一个迭代方法通过一阵,呼吁第一种方法与每个数字,并且打印出来的价值观的方法返回正确的。

分离出两个关切整齐。如果你坚持到底如何做到这一点,请详细说明其位你找到难。(我假设这是家庭作业,这就是为什么我没有只是包括代码。)

其他提示

假设你有:

  • 一系列整数,与一些正在总理和一些正在不总理。
  • 一个功能进行测试,如果一个这些数字是总理。

只是迭代的阵列,每个号码:

if (isPrime(n)) {
    system.out.println(n);
}

你可能不想尝试做的多个整数在一次,一次一个应该很简单的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top