Meu programa permite ao usuário números (int) que são salvos em uma Array.
A primeira pergunta: Como faço para pegar estes valores e gerar uma nova array apenas com os números primos?
[code] public ArrayList primosConjuntoA(){
ArrayList listaPrimos = new ArrayList<>();
int contador = 0;
for(Integer a : conjA){
// aqui deveria existir um if(x%todos valores até x==0){
cont++
seria melhor usar ArrayList mas se só serve Array ai vai uma possível solução.
Integer arrayIndex = new Integer[100] // array que vai guardar os índex dos primos no array conjA ou pode ser um List e bem melhor
for(int i=0; i < conjA.length; i++){
Integer a = conjA[i];
if((a / 2 > 0) || (a / 3 > 0) || (a / 5 > 0) || (a / 7 > 0)){
//numero e primo
cont++;
arrayIndex[i]; //armazena index
}
.
.
.
}
//gerar no array
Integer[] newArray = new Integer[cont];
//apartir daqui vc pode fazer de duas formas percorrer o conjA e verificar novament se e primo
//percorrer lista novamente para preencher o array ai não precisa do array "arrayIndex"
int i=0;
for(Integer a : conjA){
if((a / 2 > 0) || (a / 3 > 0) || (a / 5 > 0) || (a / 7 > 0)){
newArray[i] = a;
++i;
}
}
//ou pegar os indexs do arrayIndex que aponta para a localização dos primos no array conjA e atribuir a newArray na posição "i";
for(int i=0; i < newArray.lenght; i++){
int index = arrayIndex[i];
newArray[i] = conjA[index]
}
a segunda duvida é mais complicado vc teria que criar uma nova classe ArrayNumeroRepetido que dois array, sobrescrevesse os metodos hasCode e equals e retornaria um novo array.