public int retornaPar()
{
int par = 0;
for(int i=0; i<numero.length; i++)
{
int QTdpares = 0;
if(numero[i]%2 == 0)
{
QTdpares++;
int []retorno = {numero[i]};
}
}
return retorno;
}
o que será que falta??? Já tentei mil coisas…
Desculpe ser chato, mas o principal que está faltando é definir bem o problema.
No título vc dizia que queria retornar as vogais (editei depois de ver a mensagem abaixo). Mas pelo código, vc está contando a quantidade de números pares (que não tem nada a ver com letras), mas também parece que tentou retornar um array com os números pares (ou seja, não é só a quantidade de números pares, mas também quais são esses números).
Enfim, o que é pra fazer exatamente?
public int retornaPar()
{
int par = numero.length;
for(int i=0; i<numero.length; i++)
{
if(numero[i]%2 == 0)
{
par++;
par = numero[i];
}
}
return par;
}
// Perdão a falta de entendimento, agora ele está pegando, porém sobrepõe… Se por exemplo eu digitar {0,2,68,4}, ao invés dele printar todos porque são pares, ele printa apenas o último, no caso o 4…
Só pra confirmar, é Java, né?
Bom, não ficou claro de onde vem o array de números, mas enfim, a variável par
sempre guarda somente o último número encontrado. Se quer guardar todos, tem que usar outro array:
import java.util.Arrays; // usar este import
...
public int[] retornaPares(int[] numeros) { // mudei para receber o array como parâmetro
// inicialmente, pares tem o mesmo tamanho do array numeros (pois todos podem ser pares)
int[] pares = new int[numeros.length];
int i = 0;
for (int n : numeros) {
if (n % 2 == 0) { // achei um número par
pares[i] = n;
i++;
}
}
// no final, tenho que "diminuir" o array, para que não fique elementos sobrando
return Arrays.copyOf(pares, i);
}
Como o array pares
pode acabar tendo menos números que o array original, no final temos que usar Arrays.copyOf
para que ele crie outro array com o tamanho indicado (senão pares
ficaria com elementos “sobrando”).
Exemplo:
int[] numeros = {1, 2, 3, 4, 5, 6, 7, 8};
int[] pares = retornaPares(numeros);
System.out.println("Quantidade de números pares encontrados: " + pares.length);
for (int n : pares) {
System.out.println(n);
}
Daria para usar List
em vez de um array, já que listas não têm tamanho fixo e podem aumentar sob demanda. Dê uma olhada na documentação.