Impresion Lista muestra caracteres especiales
Publicado por Dany (16 intervenciones) el 27/11/2018 17:48:20
Hola a todos.
Estoy viendo el temas de listas en JAVA y tengo un problema para mostrar la lista de elementos.
Tengo lo siguiente un MENU de Opciones en el cual por medio de metodos:
Agrego elementos a la lista
Elimino elementos a la lista
Inserto al Inicio
Inserto al Final
Muestros los elementos
Aqui tengo el problema cuando ingreso elelentos y trato de mostrar los elementos me muestra solo caracteres especiales no se que pueda estar pasando.
Pueden hecharle un ojo a el codigo y ver que es lo que tengo mal por favor.
Espero me puedan ayudar de favor.
Saludos
DS
Estoy viendo el temas de listas en JAVA y tengo un problema para mostrar la lista de elementos.
Tengo lo siguiente un MENU de Opciones en el cual por medio de metodos:
Agrego elementos a la lista
Elimino elementos a la lista
Inserto al Inicio
Inserto al Final
Muestros los elementos
Aqui tengo el problema cuando ingreso elelentos y trato de mostrar los elementos me muestra solo caracteres especiales no se que pueda estar pasando.
Pueden hecharle un ojo a el codigo y ver que es lo que tengo mal por favor.
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
/*Clase NODO*/
package asesorialistas;
/*@author Daniel Solis*/
public class Nodo{
public int Dato;
public Nodo Sig;//Puntero Enlcae recursivo
//Enlaza los diferentes nodos
//Constructor inicializar nodos
public Nodo(int d){
//Para crear un nodo final
this.Dato=d;
}
//Constructor para insertar al inicio
public Nodo(int d, Nodo n){
this.Dato=d;
this.Sig=n;
}
}
/*METODOS LISTA*/
package asesorialistas;
/*@author Daniel Solis*/
public class Lista {
//Creando punteros
protected Nodo Inicio, Fin; //Punteros para saber donde inica y donde termina
//Donde esta el Inicio y Fin
public Lista(){
Inicio=null;
Fin=null;
}
/*----------------------------------------------------------------------------*/
//Metodo para agregar al incio de la lista
public void AgregarInicio(int Elemento){
//Creando el nodo
Inicio = new Nodo(Elemento,Inicio);//Creando el Nodo
if(Fin==null){
Fin=Inicio;
}
}
/*----------------------------------------------------------------------------*/
//Metodo para agregar al final
public void AgrearFin(int Elemento){
if (!vacia()) {
Fin.Sig=new Nodo(Elemento);
Fin=Fin.Sig;
}else{
Inicio=Fin=new Nodo(Elemento);
}
}
/*----------------------------------------------------------------------------*/
//Metodo para mostrar la lista
public void Mostrar(){
Nodo recorrer=Inicio;
while (recorrer!=null){
System.out.print("["+recorrer+"]");
recorrer=recorrer.Sig;
}
}
/*----------------------------------------------------------------------------*/
//Metodo esta la lista Vacia
public boolean EstaVacia() {
if (Inicio==null) {
return true;
}else{
return false;
}
}
/*----------------------------------------------------------------------------*/
public void BorrarInicio(int Elemento){
//creando el nodo
Elemento = Inicio.Dato;//creando el nodo
if(Inicio==null){
Fin = Inicio = null;
}
else{
Nodo temporal = Inicio;
while(temporal.Sig != Inicio){
temporal = temporal.Sig;
}
Inicio = temporal;
Inicio.Sig = null;
}
}
/*----------------------------------------------------------------------------*/
public int BorrarFinal(){
int Elemento = Fin.Dato;
if(Inicio==Fin){
Inicio = Fin = null;
}else{
Nodo temporal = Inicio;
while(temporal.Sig != Fin){
temporal = temporal.Sig;
}
Fin = temporal;
Fin.Sig = null;
}
return Elemento;
}
/*----------------------------------------------------------------------------*/
public boolean BuscarElemento(int Elemento){
Nodo temporal =Inicio;
while(temporal !=null && temporal.Dato != Elemento){
temporal = temporal.Sig;
}
return temporal;
}
}
/*Clase PRINCIPAL*/
package asesorialistas;
import java.awt.HeadlessException;
import javax.swing.JOptionPane;
/*@author Dany*/
public class Principal {
public static void main(String[] args) {
//crear instancias de las clases
Lista Listita = new Lista();
//menu do while
int opcion = 0;
int Elemento; //valor a la lista (para insertar)
do {
try {
opcion = Integer.parseInt(JOptionPane.showInputDialog(null, "*** MENU DE OPCIONES ***\n"
+ "1.- Agregar un Elemento al Inicio \n"
+ "2.- Agregar un Elemento al Final \n"
+ "3.- Mostrar los Elementos de las listas \n"
+ "4.- Checar si la lista esta vacia \n"
+ "5.- Borrar Elemento al inicio \n"
+ "6.- Borrar Elemento al final \n"
+ "7.- Buscar Elemento \n"
+ "8.- Salir \n"));
switch(opcion){
case 1:
try {
Elemento = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa el Elemento "
+ "al inicio"));
Listita.AgregarInicio(Elemento);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
break;
case 2:
try {
Elemento = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingresa el Elemento "
+ "al final"));
Listita.AgrearFin(Elemento);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
break;
case 3:
Listita.Mostrar();
System.out.print("");
break;
case 4:
Listita.EstaVacia();
break;
case 5:
try {
Elemento = Listita.BorrarInicio();
JOptionPane.showInputDialog(null, "El Elemento eliminado es: "
+Elemento,"Eliminando nodo de inicio",
JOptionPane.INFORMATION_MESSAGE);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
break;
case 6:
try {
Elemento = Listita.BorrarFinal();
JOptionPane.showInputDialog(null, "El Elemento eliminado es: "
+Elemento,"Eliminando nodo de fin",
JOptionPane.INFORMATION_MESSAGE);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
break;
case 7:
Elemento=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa el "+" elemento a buscar...","Buscando nodos en la lista",
JOptionPane.INFORMATION_MESSAGE));
JOptionPane.showInputDialog(null, "El Elemento eliminado es: "
+Elemento,"Eliminando nodo de fin",
JOptionPane.INFORMATION_MESSAGE);
if (Listita.BuscarElemento(Elemento)==true) {
JOptionPane.showMessageDialog(null, "El elemento" + Elemento + " si esta en la lista",
"nodo encontrado",JOptionPane.INFORMATION_MESSAGE);
}else{JOptionPane.showMessageDialog(null, "El elemento" + Elemento + " no esta en la lista",
"no no encintrado",JOptionPane.INFORMATION_MESSAGE);
}
break;
}
} catch (HeadlessException | NumberFormatException e) {
JOptionPane.showMessageDialog(null,"Error"+ e.getMessage());
}
} while (opcion != 8);
}
}
Espero me puedan ayudar de favor.
Saludos
DS
Valora esta pregunta
0