Olá,o que estou tentando fazer é o seguinte: Fazer com que o usuário adicione jogadores e depois possa acessar as informações que foram definidas por ele.Cada jogador vai ser um objeto que ficará em um ArrayList enquanto o programa estiver rodando.
Tenho a classe jogadores:
public class jogador {
private String nome;
private float peso;
private float altura;
private int numero;
void setNome(String n){
nome = n;
}
public String getNome(){
return nome;
}
void setPeso(float p){
peso = p;
}
public float getPeso(){
return peso;
}
void setAltura(float alt){
altura = alt;
}
public float getAltura(){
return altura;
}
void setNumero(int num){
numero = num;
}
public int getNumero (){
return numero;
}
}
Em uma outra classe tenho um ArrayList de objetos jogador:
import java.util.ArrayList;
import java.util.Scanner;
public class testeget {
void teste(){
ArrayList<jogador>jogadores = new ArrayList<jogador>();
Scanner entrada = new Scanner (System.in);
jogador jog1 = new jogador();
jogador jog2 = new jogador();
jogador jog3 = new jogador();
jog1.setNome("jogador1");
jog2.setNome("jogador2");
jog3.setNome("jogador3");
jogadores.add(jog1);
jogadores.add(jog2);
jogadores.add(jog3);
System.out.println ("Manda o palpite ->");
String busca = entrada.nextLine();
int indice = jogadores.indexOf(busca);
System.out.println (indice);
}
public static void main (String args []){
testeget test = new testeget();
test.teste();
}
}
Testei o código criando três objetos jogador e setando três nomes à eles,pedi que o usuário entrasse com um dos nomes para que o programa retornasse esse nome.
Os grandes problemas são o método indexOf que sempre retorna -1 quando eu coloco o palpite do usuário como seu parâmetro e o outro é que eu não sei como fazer para exibir todas as informações do jogador caso o programa encontre seu nome.
tentei usar um for each:
for(jogador player : jogadores){
String busca;
System.out.println("Tamanho: "+jogadores.size());
System.out.println("Digite o nome do jogador:");
busca = entrada.nextLine();
int indice = 0;
for(int i=0;i<jogadores.size();i++){
indice = jogadores.indexOf(busca);
}
if(indice >=0){
System.out.println (player.getAltura());
System.out.println (player.getNome());
System.out.println (player.getNumero());
System.out.println (player.getPeso());
}
}
Mas não resolvi
Agradeço a ajuda .