NullPointerException
Publicado por Daniel (4 intervenciones) el 28/12/2017 04:31:15
Buenas, he estado haciendo un programa en Java, es sobre un torneo de fútbol, son 8 partidos iniciales y 7 partidos que le siguen, estoy trabajando con una lista doblemente enlazada, un árbol y un arreglo e interfaz gráfica (JFrame) a la hora de correr el programa me manda un error de NullPointerException en una linea de código, una linea de código en donde utilizo el arreglo, estuve montando el mismo código en un proyecto sin interfaz gráfica, solo se maneja con JOptionPane y me sirve perfecto, estuve viendo los posibles orígenes y las posibles soluciones del problema, pero, nada me ha funcionado, dejo el código indicando la linea donde se cae, para ver si me pueden ayudar, se los agradecería un montón.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
public class Ventana extends javax.swing.JFrame {
public static Lista lista = new Lista();
public static Arbol arbol = new Arbol();
public static Partido[] partidos = new Partido[16];
public static Equipo ganador = new Equipo();
public static int eqip1gols;
public static int eqip2gols;
static Partido partido1;
static Partido partido2;
static Partido partido3;
static Partido partido4;
static Partido partido5;
static Partido partido6;
static Partido partido7;
static Partido partido8;
static Partido partido9 = new Partido();
static Partido partido10 = new Partido();
static Partido partido11 = new Partido();
static Partido partido12 = new Partido();
static Partido partido13 = new Partido();
static Partido partido14 = new Partido();
static Partido partido15 = new Partido();
public Ventana() {
initComponents();
//partidos[0] = new Partido();
lista.insertar(new Equipo(1, "Uruguay"));
lista.insertar(new Equipo(2, "Corea del Sur"));
lista.insertar(new Equipo(3, "Estados Unidos"));
lista.insertar(new Equipo(4, "Ghana"));
lista.insertar(new Equipo(5, "Paises Bajos"));
lista.insertar(new Equipo(6, "Eslovaquia"));
lista.insertar(new Equipo(7, "Brasil"));
lista.insertar(new Equipo(8, "Chile"));
lista.insertar(new Equipo(9, "Argentina"));
lista.insertar(new Equipo(10, "Mexico"));
lista.insertar(new Equipo(11, "Alemania"));
lista.insertar(new Equipo(12, "Inglaterra"));
lista.insertar(new Equipo(13, "Paraguay"));
lista.insertar(new Equipo(14, "Japon"));
lista.insertar(new Equipo(15, "España"));
lista.insertar(new Equipo(16, "Portugal"));
partido1 = arbol.insertarIniciales(1, lista.extrae(1), lista.extrae(2));
partido2 = arbol.insertarIniciales(2, lista.extrae(3), lista.extrae(4));
partido3 = arbol.insertarIniciales(3, lista.extrae(5), lista.extrae(6));
partido4 = arbol.insertarIniciales(4, lista.extrae(7), lista.extrae(8));
partido5 = arbol.insertarIniciales(5, lista.extrae(9), lista.extrae(10));
partido6 = arbol.insertarIniciales(6, lista.extrae(11), lista.extrae(12));
partido7 = arbol.insertarIniciales(7, lista.extrae(13), lista.extrae(14));
partido8 = arbol.insertarIniciales(7, lista.extrae(14), lista.extrae(16));
partidos[0] = partido1;
partidos[1] = partido2;
partidos[2] = partido3;
partidos[3] = partido4;
partidos[4] = partido5;
partidos[5] = partido6;
partidos[6] = partido7;
partidos[7] = partido8;
partidos[8] = partido9;
partidos[9] = partido10;
partidos[10] = partido11;
partidos[11] = partido12;
partidos[12] = partido13;
partidos[13] = partido14;
partidos[14] = partido15;
}
private void progresoEquiposButtonActionPerformed(java.awt.event.ActionEvent evt) {
//try {
for (int i = 0; i < 8; i++) {
eqip1gols = 0;
eqip2gols = 0;
//esta linea de abajo es la que produce que el programa se caiga
JOptionPane.showMessageDialog(null, "Partido " + (i+1) + "\n" + partidos[i].getEquipo1().getNombre() + " vs " + partidos[i].getEquipo2().getNombre());
while(eqip1gols == eqip2gols) {
try {
eqip1gols = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite los goles del primer equipo"));
eqip2gols = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite los goles del segundo equipo"));
} catch(Exception e) {
System.err.println(e.getMessage());
}
if(eqip1gols == eqip2gols) {
JOptionPane.showMessageDialog(null, "Empate");
}
}
ganador = eqip1gols > eqip2gols ? partidos[i].getEquipo1() : partidos[i].getEquipo2();
partidos[i].setGanador(ganador);
JOptionPane.showMessageDialog(null, "Ganador" + "\n" + ganador.getNombre());
System.out.println(partidos[i]);
}
int temp = 0;
for (int i = 8; i < 15; i++) {
eqip1gols = 0;
eqip2gols = 0;
JOptionPane.showMessageDialog(null, "Partido " + (i + 1) + "\n" + partidos[temp].getGanador().getNombre() +" vs " + partidos[temp + 1].getGanador().getNombre());
while(eqip1gols == eqip2gols) {
try{
eqip1gols = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite los goles del primer equipo"));
eqip2gols = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite los goles del segundo equipo"));
} catch(Exception e) {
System.err.println(e.getMessage());
}
if(eqip1gols == eqip2gols) {
JOptionPane.showMessageDialog(null, "Empate");
}
}
ganador = eqip1gols > eqip2gols ? partidos[temp].getGanador() : partidos[temp + 1].getGanador();
partidos[i].setGanador(ganador);
partidos[i] = arbol.insertarPartidosClasificatorios(i + 1, partidos[temp], partidos[temp + 1], ganador);
JOptionPane.showMessageDialog(null, "Ganador: " + "\n" + ganador.getNombre());
System.out.println(partidos[i]);
temp = temp + 2;
}
JOptionPane.showMessageDialog(null, "Equipo ganador de la final: " + partido15.getGanador().getNombre());
System.out.println("La ruta del ganador:");
arbol.inOrden(ganador);
/*} catch(Exception e) {
JOptionPane.showMessageDialog(null, e, "Error Compruebe el Codigo", JOptionPane.ERROR_MESSAGE);
System.out.println("Error" + e);
}*/
}
Valora esta pregunta
0