Consulta ejercicio Java
Publicado por Saray (2 intervenciones) el 25/05/2017 09:56:16
Hola!
Mi profe de programación es un poco nulo en la materia y nos ha colgado un código sin explicar casi nada. Estamos toda la clase igual, muchos hemos empezado el lenguaje Java hace nada y en este código hay conceptos que se nos escapan. Agradecería un poco de explicación si es posible... En mi caso no entiendo de donde saca el "sig".
El ejercicio es una pila con baja repetidas.
Mi profe de programación es un poco nulo en la materia y nos ha colgado un código sin explicar casi nada. Estamos toda la clase igual, muchos hemos empezado el lenguaje Java hace nada y en este código hay conceptos que se nos escapan. Agradecería un poco de explicación si es posible... En mi caso no entiendo de donde saca el "sig".
El ejercicio es una pila con baja repetidas.
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
import java.util.Scanner;
public class BajasRepetidas {
public NodoPas seg=null;
public static int menu(){
Scanner tc = new Scanner(System.in);
int mn=0;
try{
System.out.println("\nMENU \n");
System.out.println("1.- Entrada :");
System.out.println("2.- Listado :");
System.out.println("3.- Buscar :");
System.out.println("4.- Salir :");
System.out.print("\nDa Op :");
mn=tc.nextInt();
}catch (Exception e){
menu();
}
return mn;
}
public void Insertar() {
Scanner tc = new Scanner(System.in);
NodoPas pri = new NodoPas();
System.out.print("\n Da Nom :");pri.nom=tc.nextLine();
System.out.print("\n Da edad :");pri.edad=tc.nextInt();
pri.sig = seg;//seg puntero
seg = pri;
}
public void Listado() {
NodoPas pri=null;
pri=seg;
if(pri==null){
System.out.println("Pila Vacia ::::.\n\n");
}
else {
System.out.println("Listado de todos los elementos de la pila.\n\n");
while (pri!=null) {
System.out.println(pri.nom+"-"+pri.edad);
pri=pri.sig;
}
System.out.println();
}
}
public void Buscar() {
Scanner sc = new Scanner(System.in);
NodoPas pri=null, ant=null;
String info="",op="",s="s";
boolean ok=true;
pri=seg;
if(pri==null){
System.out.println("Pila Vacia ::::.\n\n");
}
else {
ant=seg;
System.out.print("\nDar Nom :");info=sc.nextLine();
while ((pri!=null)&& ok) {
if(pri.nom.compareTo(info)==0){
System.out.print("\nInfo Dada :"+pri.nom+"-"+pri.edad);
System.out.print("\nDar de baja s/n? :");op=sc.nextLine();
if(s.compareTo(op)==0){
eliminar(info);
}
else{
menu();
}
}
else{
pri=pri.sig;//pri sera igual a pri sig para ir recorriendo los nodos
}
}
if (ok) System.out.println("Info no Valida :");
}
}
public void eliminar(String info){
Scanner sc = new Scanner(System.in);
NodoPas pri=null, ant=null;
String infor="",op="",s="s";
//boolean ok=true;
pri=seg;
while (pri!=null) {
if(pri.nom.compareTo(infor)==0){
if(pri==seg){
seg=pri.sig;
}
else{
System.out.print("\nBaja realizada");
ant.sig=pri.sig;
pri=pri.sig;
}
}
else{
pri=pri.sig;//pri sera igual a pri sig para ir recorriendo los nodos
}
}
//System.out.print("h"+info);
/*if(s.compareTo(op)==0){
if(pri==seg){
seg=pri.sig;
}
else{
System.out.print("\nBaja realizada");
ant.sig=pri.sig;
}
}
ok=false;//cuando hace la baja, ok es false y sale del while
ant=pri;// anterior es igual a pri*/
}
public static void main (String[] args) {
BajasRepetidas pila = new BajasRepetidas();
int op;
do{
op=menu();
switch(op){
case 1:pila.Insertar();break;
case 2:pila.Listado();break;
case 3:pila.Buscar();break;
//case 4:;break;
}
}while(op!=4);
}
}
Valora esta pregunta
0