Olá, Pessoal. Tudo bem com vocês?
Peço a gentileza em me apoiarem, se possível, na seguinte dúvida:
Estou fazendo um curso de programação Back-End em java e o professor passou a seguinte tarefa:
“Ler resultados do console (nomes de pessoas e o gênero - Ex: Antonio-m, Bruna-f…), usar o método split e depois agrupar os dois universos separados (generoMasculino e generoFeminino)”.
Procedi da seguinte forma:
public static void main(String args[]) {
System.out.println("Nomes e gêneros separados por , ");
Scanner s = new Scanner(System.in);
String resposta = s.next();
String[] nomes = resposta.split(",");
List <String> pessoas = Arrays.asList(nomes);
List <String> seres = new LinkedList<>(pessoas);
int aux = 0;
int n = 0;
System.out.println("");
System.out.println("Nomes sem separação por gênero: ");
System.out.println(pessoas);
System.out.println("");
System.out.println("Nomes masculinos: ");
List<String> generoMasculino = new ArrayList<String>();
for (String homens : seres) {
if (homens.contains("-m")) {
generoMasculino.add(homens);
System.out.println(generoMasculino);
}
}
System.out.println("");
System.out.println("Nomes femininos: ");
List<String> generoFeminino = new ArrayList<String>();
for (String mulheres : seres) {
if (mulheres.contains("-f")) {
generoFeminino.add(mulheres);
System.out.println(generoFeminino);
}
}
}
O que fiz: entrei com os nomes através do scanner (Bruna-f,André-m,Antonia-f,Mariano-m…). Quebrei as respostas com o split e criei um Array. Transformei o Array em List. Depois criei duas Lists (generoMasculino e generoFeminino), onde através de for e if agrupei as respostas que satisfizessem a condição “-m” ou “-f”.
Meu ponto: ao imprimirem a resposta no console, não estou recebendo uma única Lista com as condições que estipulei. Ele até separa quem contem “-m” e quem contem “-f”, mas acaba repetindo. A saída fica:
Bruna-f
Bruna-f, Antonia-f
André-m
André-m, Mariano-m
Eu gostaria que o retorno fosse:
Bruna-f,Antonia-f,Próxima-f…Última-f.
André-m,Mariano-m,Próximo-m…Último-m.
Não sei se fiz as melhores escolhas para atingir meu objetivo, mas consegui de alguma forma alcançar boa parte do que desejava na hora de separar os grupos. Entretanto, a forma de retorno não me parece adequada ao que busco. Agradeço a atenção de vocês!