2009-12-28 3 views
0

Я хотел бы распечатать все простые числа из массива с помощью метода. Я могу сделать это с одним 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; 
     } 
    } 

ответ

2

Я хотел бы предложить вам разделить это на два метода:

  • Один метод, чтобы определить, является ли одно число является простым
  • Один метод перебора массива, вызов первый метод с каждым номером и распечатать значения, для которых метод возвращает true.

Это отделяет две проблемы аккуратно. Если вы застряли в точности, как это сделать, пожалуйста, дайте подробную информацию о том, какой бит вы найдете. (Я предполагаю, что это домашнее задание, поэтому я не просто включен код.)

0

Предполагая, что вы есть:

  • Один массив целых чисел, причем некоторые из них просты и некоторые из них не является простым ,
  • Функция для тестирования, если одно из этих чисел является простым.

Просто итерацию по массиву, и для каждого номера:

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

Вы, вероятно, не хотите, чтобы попытаться сделать несколько Интс сразу, один в то время, должно быть много проще кода.

Смежные вопросы