0
I’m building a little algorithm that runs through a ArrayList
and compares the value found with a value typed by the user.
But I want to print on the screen only the value that satisfies the operation, and not the other values that do not correspond to those that were compared:
public class Hash {
HashMap<String, String> mapaPosicoes = new HashMap<>();
ArrayList<String> listaPosicoes = new ArrayList<>();
Scanner teclado = new Scanner(System.in);
String posicaoJogador, nomeJogador;
public void pegaDadosJogador() {
System.out.print("Digite a posição do jogador: ");
posicaoJogador = teclado.nextLine();
System.out.print("Digite o nome do jogador: ");
nomeJogador = teclado.nextLine();
}
public void validadorDadosJogador() {
listaPosicoes.add("Atacante");
listaPosicoes.add("Cortador");
listaPosicoes.add("Levantador");
listaPosicoes.add("Bloqueador");
listaPosicoes.add("Jogador de Defesa");
listaPosicoes.add("Líbero");
for(String iteracao: listaPosicoes) {
if(!(!iteracao.equals(posicaoJogador) || nomeJogador.isEmpty())) {
mapaPosicoes.put(nomeJogador, posicaoJogador);
System.out.println("Jogador(es) Mapeado(s)");
System.out.println(mapaPosicoes);
}else {
System.out.println("A");
}
}
}
public class Execucao {
public static void main(String[] args) {
Hash time = new Hash();
time.pegaDadosJogador();
time.validadorDadosJogador();
}
Watch, he’ll be writing "Input does not satisfy" until you find the correct position on array. I am fully aware that this is the fault of the loop, which will run until the last position, but as the iteration variable is local, I do not know how to do outside the loop.
It really worked with this trick of the variable Boolean, the next times I will pay attention to these details of use of the platform, thank you!
– Amystherdam