When trying to receive the data of the Player object to be able to list them, an error appears, more precise when you select option 2 on the switch the following errors.
Line 111 corresponds to
String n= jugadorBaby.get(i).getNombre();
Line 73 corresponds to
muestraPartido(objPartido);
Exception in thread "main" java.lang.NullPointerException
at Test.muestraPartido(Test.java:111)
at Test.main(Test.java:73)
C:\Users\Note_Max\AppData\Local\NetBeans\Cache.2\executor-
snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 17 seconds)
I leave the code in case you can help me. Thanks in advance
import java.util.Scanner;
import t.*;
import java.util.ArrayList;
public class Test {
static ArrayList<Partido> partidoBaby = new ArrayList();
static ArrayList<Player> jugadorBaby = new ArrayList<Player>();
private static Partido objPartido =new Partido();
private static Team objTeam =new Team();
private static Player objPlayer =new Player();
Team[] team=new Team[6];
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int opc,s,e,p,j,t;
do {
do {
menu();
opc=sc.nextInt();
} while (!(opc>0 && opc<6));
switch(opc)
{
case 1:
sc.nextLine();
System.out.println("Ingrese el primer jugador del equipo");
System.out.println("------------------------------------");
System.out.print("Ingrese el nombre del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setNombre(sc.nextLine());
System.out.print("Ingrese el apellido del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setApellido(sc.nextLine());
System.out.print("Ingrese el tamaño del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setTamanio(sc.nextFloat());
System.out.println("------------------------------------");
jugadorBaby.add(objPartido.getObjTeam1().getArrPlayer()[1]);
sc.nextLine();
//Segundo jugador del primer equipo
System.out.println("Ingrese el segundo jugador del equipo");
System.out.println("------------------------------------");
System.out.print("Ingrese el nombre del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setNombre(sc.nextLine());
System.out.print("Ingrese el apellido del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setApellido(sc.nextLine());
System.out.print("Ingrese el tamaño del jugador: ");
objPartido.getObjTeam1().getObjPlayer().setTamanio(sc.nextFloat());
System.out.println("------------------------------------");
jugadorBaby.add(objPartido.getObjTeam1().getArrPlayer()[2]);
sc.nextLine();
partidoBaby.add(objPartido);
break;
case 2:
for(int i=0;i<partidoBaby.size();i++){
muestraPartido(objPartido);
}
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
} while (opc !=5);
}
public static void menu()
{
System.out.println(" ");
System.out.println(" MENU ");
System.out.println("1. Ingresar un nuevo partido, cada uno con dos
equipos (Team) y con sus jugadores (Player)" +"asociados");
System.out.println("2. Listar todos los partidos, junto al nombre de sus
dos equipos y jugadores");
System.out.println("3. Eliminar algún equipo para un partido determinado
por su posición dentro de la lista");
System.out.println("4. Modificar los datos de algún jugador de un equipo
de un partido");
System.out.println("5. Salir del programa (con solicitud de confirmación
de salida)");
System.out.print("Ingrese opcion: ");
} // fin menu
public static void muestraPartido(Partido objPartido)
{
System.out.println("Nombre partido: "+objPartido.getNombre());
System.out.println("========================================");
System.out.println("Nombre equipo 1 :
"+objPartido.getObjTeam1().getNombre());
System.out.println("***************************************");
for(int i=0;i<jugadorBaby.size();i++){
String n= jugadorBaby.get(i).getNombre();
String a= jugadorBaby.get(i).getApellido();
float tam=jugadorBaby.get(i).getTamanio();
System.out.println("El jugador numero "+(i+1)+" del equipo es: "+n+"
"+a+" y su tamaño es de "+tam);
}
}
}
t.Partido
package t;
public class Partido {
private String _nombre;
private byte _dia;
private byte _mes;
private byte _anio;
private String mes;
private Team objTeam1;
private Team objTeam2;
public Partido() {
objTeam1 = new Team();
objTeam2 = new Team();
}
public String getNombre() {
return _nombre;
}
public void setNombre(String _nombre) {
this._nombre = _nombre;
}
public byte getDia() {
return _dia;
}
public void setDia(byte _dia) {
this._dia = _dia;
}
public byte getMes() {
return _mes;
}
public void setMes(byte _mes) {
this._mes = _mes;
}
public byte getAnio() {
return _anio;
}
public void setAnio(byte _anio) {
this._anio = _anio;
}
public Team getObjTeam1() {
return objTeam1;
}
public void setObjTeam1(Team objTeam1) {
this.objTeam1 = objTeam1;
}
public Team getObjTeam2() {
return objTeam2;
}
public void setObjTeam2(Team objTeam2) {
this.objTeam2 = objTeam2;
}
}
t.Team
package t;
public class Team {
private String _nombre;
private String _ciudad;
private Player[] arrPlayer;
private Player objPlayer;
public Team() {
arrPlayer = new Player[6];
objPlayer= new Player();
}
public Team(String _nombre, String _ciudad, Player[] arrPlayer) {
this._nombre = _nombre;
this._ciudad = _ciudad;
this.arrPlayer = arrPlayer;
}
public String getCiudad() {
return _ciudad;
}
public void setCiudad(String _ciudad) {
this._ciudad = _ciudad;
}
public String getNombre() {
return _nombre;
}
public void setNombre(String _nombre) {
this._nombre = _nombre;
}
public Player[] getArrPlayer() {
return arrPlayer;
}
public void setArrPlayer(Player[] v) {
this.arrPlayer = v;
}
public Player getObjPlayer() {
return objPlayer;
}
public void setObjPlayer(Player objPlayer) {
this.objPlayer = objPlayer;
}
}
t.Player
package t;
public class Player {
private String _nombre;
private String _apellido;
private float _tamanio;
public Player() {
}
public Player(String _nombre, String _apellido, float _tamanio) {
this._nombre = _nombre;
this._apellido = _apellido;
this._tamanio = _tamanio;
}
public float getTamanio() {
return _tamanio;
}
public void setTamanio(float _tamanio) {
this._tamanio = _tamanio;
}
public String getNombre() {
return _nombre;
}
public void setNombre(String _nombre) {
this._nombre = _nombre;
}
public String getApellido() {
return _apellido;
}
public void setApellido(String _apellido) {
this._apellido = _apellido;
}
}