Identificar Numero Primo e colocar em array

Pessoal,

Tenho eu programinha da facul e estou com dificudade no seguinte:

O programa identifica os numeros primos do array a e copia para o array b de mesmo tamanho.
Criei a lógica e o programa identifica quais não são numeros primos…
primos (11, 13, 89…), nao consigo copia-los para o array b.

[code]/* Lista1: classe para exercícios de aquecimento. /
import javax.swing.
;

public class Lista1_19 {
public static void main(String args[]) {
/*
* Vetor de “entrada”, que já é alocado e inicializado. Neste caso, o
* new é dispensado, pois o compilador já deduz o número de posições que
* devem ser alocadas.
/
int a[] = { 32, 45, 89, 66, 12, 35, 10, 96, 38, 15, 13, 11, 65, 81, 35,
64, 16, 89, 54, 19 };
/

* A variável n conterá sempre o tamanho do vetor a. Isto irá facilitar
* novos testes caso queira mudar o conteúdo do vetor a
/
int n = a.length;
/

* Declaração e alocação do vetor b, em que será escrita a saída. Não
* sabemos quantos elementos serão necessários, mas sabemos que n serão
* suficientes. O objetivo dos exercícios é mudar o conteúdo do vetor b.
* A variável m declarada a seguir também deve ser alterada, indicando
* quantos elementos de b são realmente importantes para a resposta.
/
int b[] = new int[n];
int m = 0;
/
A variável a seguir é usada como índice de laços. /
int i;
/

* Coloque aqui o código necessário para resolver o problema. Novas
* variáveis podem ser criadas, se necessário. No final, b e m devem ser
* modificados.
*/

	m = n;

	
	for (int counter = 0; counter < n - 1; counter++) {

		for (i = 2; i <= a[counter]; i++) {
			
			//if ((a[counter] % i) && (i != a[counter]))
			if ((a[counter] % i == 0) && (i != a[counter]))
				System.out.println("nao primo" + a[counter]);
								
		}

	}

	/* O código abaixo mostra o resultado. Não deve ser alterado */
	String saida = "Resposta:\n";
	for (i = 0; i < m; i++)
		saida = saida + b[i] + " ";
	saida = saida + "\nFim.";
	JOptionPane.showMessageDialog(null, saida, "Lista1",
			JOptionPane.PLAIN_MESSAGE);
	System.exit(0);
}

}[/code]

Guilherme, Achei o código abaixo que identifica números primos, creio que pode lhe ajudar:

[code]class prbprimo1
{
public static void main(String arg[])
{
for(int i = 1; i <= 25000; i++ )
if (primo(i) == true) System.out.println(i);
}

public static boolean primo(int num)
{
    boolean p;
    int contador = 0;
    int i = 1;
    while(i <= num)  
    {
        if (num  % i == 0)  contador++; 
        i++;
    }

    if (contador <= 2) p = true;
    else p = false;

    return p;
}

}[/code]

Segue este link de onde eu achei e tem mais exemplos no link

http://pjsml.50megs.com/java/primos.html

Valeu pela ajuda, mas nao resolve o problema direito…

Eu já sei quem não é primo…
Agora pegar os primos e colocar no array é que nao sei como…

Achei outras solução que utilizam o break, mas eu preciso percorrer todo meu array!