1
I am doing a program in basic Java. At the moment there are 6 classes, however, you are having problems in 2 classes at the time of registration. I’m making a SET to register the name of the player in the chain list and then in case 6 I’m trying to print to see if it’s really working. (But it doesn’t print anything)
Chain list:
public class ListaEncadeada {
private Nodo inicio;
private Nodo fim;
private int quantos;
private int capacidade;
public ListaEncadeada(int capacidade) {
this.capacidade = capacidade;
}
public ListaEncadeada() {
this.capacidade = 100;
}
public int getCapacidade() {
return capacidade;
}
public int incluirJogador(Jogador umJogador) {
Nodo temp = new Nodo();
temp.setInfo(umJogador);
if (quantos == 0) {
inicio = fim = temp;
} else if (quantos <= capacidade) {
fim.setProx(temp);
fim = temp;
}
quantos++;
return 2;
}
public int getTamanho() {
return quantos;
}
public Jogador get(int indice) {
if ((indice >= 0) && (indice < quantos)) {
Nodo temp = inicio;
for (int i = 0; i < indice; i++) {
temp = temp.getProx();
}
return temp.getInfo();
}
return null;
}
}
and the interface is like this:
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Menu {
private int qnts = 0;
public void menuPrincipal() {
Scanner entrada = new Scanner(System.in);
int opcao;
ListaEncadeada listaJogadores = new ListaEncadeada();
do {
System.out.println("------------------------General------------------------");
System.out.println("1- Cadastro de jogador");
System.out.println("2-Jogar");
System.out.println("3-Ver pontuação da partida");
System.out.println("4-Ver pontuação geral");
System.out.println("5-Sair");
opcao = entrada.nextInt();
switch (opcao) {
case 1:
System.out.println("---------------CADASTRO DE JOGADOR----------------");
System.out.println("Digite o nome do jogador:");
Jogador player = new Jogador();
player.setNome(entrada.nextLine());
entrada.nextLine();
listaJogadores.incluirJogador(player);
//inserir na lista encadeada e verificar
break;
//
case 2:
System.out.println("----------------JOGAR----------------");
System.out.println("Jogador 1:");
String player1, player2;
player1 = entrada.nextLine();
System.out.println("Jogador 2:");
player2 = entrada.nextLine();
break;
//
case 3:
System.out.println("----------------PONTUAÇÃO DA PARTIDA----------------");
break;
//
case 4:
System.out.println("----------------PONTUAÇÃO GERAL----------------");
System.out.println(
"Jogador | Numero de jogos | Numero de vitórias | Empates | Pontos | Derrotas |");
int i;
for (i = 0; i < listaJogadores.getTamanho(); i++) {
/*System.out.println(""+listaJogadores.get(i).getNome()+"|"+listaJogadores.get(i).getNumJogos()+"|"+listaJogadores.get(i).getNumWin()+"|"+listaJogadores.get(i).getEmpates()+"|"+listaJogadores.get(i).getPontos()+"|"+listaJogadores.get(i).getDerrotas()); */
}
System.out.println("");
break;
//
case 5:
System.out.println("SAINDO DO PROGRAMA...");
break;
//teste
case 6:
System.out.println(listaJogadores.get(0).getNome());
break;
//
}
} while (opcao != 5);
}
}
in case 6 also tried so and did not give:
Jogador jogadori= new Jogador();
jogadori.setNome(listaJogadores.get(0).getNome());
If anyone can help me thank you! I don’t know why I’m not able to include players in the list.
How the class was defined
Nodo
? What does that meanreturn 2;
within the methodincluirJogador
? "I’m trying to print [...]. (But it doesn’t print anything)" - But thecase 6
only prints the node at position0
-System.out.println(listaJogadores.get(0).getNome());
, to print everyone has to turn into a loop.– Isac
Yes I’m only trying to register one (include) and show in the position that it was included to see if it works. (It’s just a test) Return 2 I was going to do more things like belong and not... but I already changed the method to void.
– Maurício Z.B
So this
get(0)
does not show anything is it ? It has how to put a testable version of the code ?– Isac