Professional Documents
Culture Documents
CursodeJava:ResolucindelejerciciodeLinkedList
Megusta
Portada
5137
Seguira@redeszone
Android
Routers
Buscar WiFiAC
BandaAncha
Nossigues?
7,015seguidores
PepephoneADSL
PuntosdeAcceso
EdimaxSmartLife
Bittorrent
PLC
Redes
Java
PHP
SeguridadInformtica
SmartHome
2.309
Software
Firmwares
Manuales
Twittear
2comentarios
0
importjava.util.Calendar;
/**
*Clasequepermiteobtenerlafechayhoraactual,
*enmilisegundosdesdelapoca
*/
publicclassReloj
{
publicstaticlongahora()
{
returnCalendar.getInstance().getTimeInMillis();
}
}
Setratadelamismaimplementacinqueenelejemploqueopusimos,porloquepodiscopiarypegartalcualest.
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
1/8
22/2/2015
CursodeJava:ResolucindelejerciciodeLinkedList
Setratadelamismaimplementacinqueenelejemploqueopusimos,porloquepodiscopiarypegartalcualest.
Ahoravamosconlaprimeradelasclasesquenosinteresa,laclaseFichaVehiculo.Seencargarderecogertodoslos
datosreferidosalosvehculosqueentreeneltaller.Estarformaprincipalmenteporobservadoresdeatributos,que
poseenvisibilidadprivada.
1
2
3
4
5
6
7
8
publicclassFichaVehiculo
{
privatelongentrada,reparacion,salida;
privateStringmodelo;
privateStringmatricula;
/**Constructor*/
publicFichaVehiculo(Stringm,Stringma,longe)
9
{
10
modelo=m;
11
matricula=ma;
12
entrada=e;
13
reparacion=0;
14
salida=0;
15
16
}
17
18
publicStringmatricula()
19
{
20
returnmatricula;
21
}
22
23
publicStringmodelo()
24
{
25
returnmodelo;
26
}
27
28
publicvoidmodificaFechaEntrada(longfecha_entrada)
29
{
30
entrada=fecha_entrada;
31
}
32
33
publicvoidmodificaFechaSalida(longfecha_salida)
34
{
35
entrada=fecha_salida;
36
}
37
38
publicvoidmodificaFechaReparacion(longfecha_reparacion)
39
{
40
entrada=fecha_reparacion;
41
}
42
43
publicbooleanestaArreglado()
44
{
45
if(reparacion!=0)
46
{
47
returntrue;
48
}else{
49
returnfalse;
50
}
51
}
52
53
/****************Observadoresdelasfechasdereparacinysalida****/
54
55
publiclongfechaReparacion()
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
Anlisis de producto
AdaptadoresWiFi
BancosdePrueba
PuntosdeAcceso
(AP)
CmarasIP
Reproductores
Multimedia
Mdems3G
Routers
NAS
SAI
PLC
Switches
TelfonosIP
Fabricantes
AlfaNetwork
Oceans
ASUS
OrangeLivebox
CiscoLinksys
Salicru
Comtrend
Sitecom
DLink
SpotCam
Devolo
Synology
Edimax
Thecus
FRITZ!
TPLINK
Huawei
TRENDnet
HP
Zaapa
Kaiboer
WesternDigital
ZyXEL
Tutoriales de ayuda
Android
IPsec
Bugtraq
Latch
Chromecast
MacOsX
CursodeRedes
RaspberryPI
CursoHTMLyCSS
Redes
CursoJava
SeguridadInformtica
2/8
22/2/2015
55
56
57
58
59
60
61
62
63
64
65
publiclongfechaReparacion()
{
returnreparacion;
}
publiclongfechaSalida()
{
returnsalida;
}
CursodeJava:ResolucindelejerciciodeLinkedList
Estaclasenotienemayorescomplicaciones.Sisequiere,sepuedenaadirmsdatosatenerencuentaalahorade
registrarunvehculo,yaqueesto,slosetratadeunmodelobsico.
VamosconlaclaseGestionReparaciones,queimplementarlagestindevehculosdenuestrotaller.
1
importjava.util.*;
2
publicclassGestionReparaciones
3
{
4
//Atributos
5
privateLinkedList<FichaVehiculo>lista=newLinkedList<FichaVehiculo>();
6
7
/**Metodoqueaadeunvehiculoparaserarregladoconunafecha
8
*deentrada
9
*@paramnombre
10
*@parammatricula
11
*/
12
publicvoidanadeVehiculo(Stringnombre,Stringmatricula)
13
{
14
longf=Reloj.ahora();
15
FichaVehiculofich=newFichaVehiculo(nombre,matricula,f);//creamosunnuevovehculo
16
lista.add(fich);//aadimos
17
}
18
19
/**Metodoqueaadeunafechadereparacionaunvehiculo
20
*
21
*@parammatricula
22
*/
23
publicvoidreparado(Stringmatricula)
24
{
25
booleanencontrado=false;
26
inti=0;
27
28
while(!encontrado&&i<lista.size())
29
{
30
31
//condicionesquehadecumplir(todas)
32
if(lista.get(i).matricula().equals(matricula)&&lista.get(i).fechaReparacion()==0)
33
{
34
35
lista.get(i).modificaFechaReparacion(Reloj.ahora());
36
encontrado=true;
37
}else{
38
i++;
39
}
40
}
41
42
if(encontrado==true)
43
{
44
System.out.println("Fechadereparacinmodificadacorrectamente");
45
}else{
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
CursoJava
SeguridadInformtica
CursoPHP
Software
FabricatuFreeNAS
GNULinux
Windows
IPFire
MovistarFTTH
Firmwares
FirmwareTomatoRAF
FirmwaresComtrend
FirmwareDDWRT
FirmwaresZyxel
Sguenos!
Megusta A5137personaslesgustaesto.
Seguira@redeszone
7,015seguidores
RedesZone
Seguir
+1
+ 2.309
3/8
22/2/2015
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
CursodeJava:ResolucindelejerciciodeLinkedList
}else{
System.out.println("Erroralmodificarlafechadereparacindelvehculo"+matricula);
}
}
/**Metodoqueaadeunafechadesalidaaunvehiculo
*
*@parammatricula
*/
publicvoidfechaSalidaTaller(Stringmatricula)
{
booleanencontrado=false;
inti=0;
while(!encontrado&&i<lista.size())
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
{
IniciasesinenFacebookparaver
Entrar
questnhaciendotusamigos.
//condicionesquehadecumplir(todas)
if(lista.get(i).matricula().equals(matricula)&&lista.get(i).fechaSalida()==0&&lista.get(i).estaArreglado())
{
ASUSRTAC68PeslarevisindelRT
AC68UconnuevaCPUBroadcom
lista.get(i).modificaFechaSalida(Reloj.ahora());
BCM4709
encontrado=true;
6personashanrecomendadoesto.
}else{
i++;
UnbuloenFacebookafirmaqueMark
}
Zuckerbergpuededesactivartucuenta
}
4personashanrecomendadoesto.
if(encontrado==true)
{
System.out.println("Fechadesalidamodificadacorrectamente");
PluginsocialdeFacebook
}else{
System.out.println("Erroralmodificarlafechadesalidadelvehculo"+matricula);
}
}
/**Borramoslaprimerafichedeunvehiculo
*
*@return
*/
publicbooleaneliminarPrimerRegistro()
{
if(lista.isEmpty())
{
returnfalse;
}else{
lista.removeFirst();
returntrue;
}
}
SuscrbeteanuestroRSS
Sepuedenaadirmsmtodossiquerispracticar,yaqueyosloheimplementadoelfuncionamientobsicodescrito
enelenunciadodelejercicio.
Yunpequeoprogramadepruebaparaverificarquetodofuncionabien.
1
publicclassClase
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
4/8
22/2/2015
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CursodeJava:ResolucindelejerciciodeLinkedList
publicclassClase
?
{
publicstaticvoidmain(String[]args)
{
//Atributos
GestionReparacionestaller=newGestionReparaciones();
Stringmatricula1="12345";
Stringmodelo1="Leon";
Stringmatricula2="54321";
Stringmodelo2="Mondeo";
Stringmatricula3="67890";
Stringmodelo3="Laguna";
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Aadodosvehiculosaltaller
taller.anadeVehiculo(modelo1,matricula1);
taller.anadeVehiculo(modelo2,matricula2);
//Voyafijarunafechadereparacionaunvehiculoquenoexisteeneltaller,daraerror
taller.reparado(matricula3);
//Estefuncionarabien
taller.reparado(matricula1);
//Estedarerror,noestareparado,porloquenopuedesalir,esunacondicionquehemospuestoenelif
taller.fechaSalidaTaller(matricula2);
}
}
Hasta aqu la solucin del ejercicio. Si habis tenido algn problema, o duda de implementacin, no dudis en
preguntarlo.
VamosconelejemplodelosArrayListdeJava.Vamosahacerunejemplosencilloconlabarajaespaola.
1
importjava.util.*;
?
2
publicclassBaraja
3
{
4
//constantesestticas
5
privatestaticString[]palo={"Bastos","Copas","Oros","Espadas"};
6
7
privatestaticString[]carta={"As","Dos","Tres","Cuatro","Cinco","Seis","Siete","Sota"
8
9
//labarajaesunalistadecartas
10
privateArrayList<String>mazo;
11
12
/**
13
*Constructordelabaraja
14
*/
15
publicBaraja()
16
{
17
mazo=newArrayList<String>(40);
18
for(Stringp:palo){
19
for(Stringc:carta){
20
mazo.add(c+"de"+p);
21
}
22
}
23
}
24
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
5/8
22/2/2015
24
25
26
27
28
29
30
31
32
33
34
35
36
37
CursodeJava:ResolucindelejerciciodeLinkedList
/**
*Repartirnumcartas
*/
publicList<String>repartir(intnum)
{
intnumCartas=mazo.size();
List<String>vistaDeMano=mazo.subList(numCartasnum,numCartas);
List<String>mano=newArrayList<String>(vistaDeMano);
vistaDeMano.clear();
returnmano;
}
}
ComopodisverlamecnicadeprogramacinessimilaraladelasLinkedList.
Como el ejercicio anterior que os propusimos tiene mucho juego, os vamos a proponer que en vez de utilizar las
LinkedListparasuprogramacin,loimplementisutilizandolosArrayList.Yenlaprximaentregaloscorregiremosy
hablaremosademsdelasPilasdedatosysusfuncionesycomosepuedenimplementar.
Artculos Relacionados
CursoJava.GUI
VolumenXIX:
Resolucinalejercicio
propuesto
CursoJava.Volumen
XV:Resolucindel
ejerciciopropuesto
Cerrar
CursodeJava.GUI
volumenIX:
Resolucindel
ejerciciopropuesto
Comprtelo.Gracias!
1
Megusta
Twittear
2Comentarios
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
6/8
22/2/2015
CursodeJava:ResolucindelejerciciodeLinkedList
29noviembre,2012alas19:07
DomingoA.dice:
Hola,muybuentrabajo!!!Sencillo,directamentealgranoyconmuchosejemplos.Genial!!!
Solamenteuncomentario:
CreoquehaydoserroresenlaclaseFichaVehiculo(lneas35y40)alasignarlasfechasdesaliday
reparacin.Enamboscasossehanasignadoalatributoprivadoentradacuandodeberanasignarsealos
atributossalidayreparacionrespectivamente.
Saludos.
RESPONDER
21agosto,2013alas16:23
CristianMontoyadice:
dijoqueibaacrartreslistas,yosoloveouna,no?
RESPONDER
Dejarunarespuesta
Nombre
Correoelectrnico
Enviarcomentario
nosehaceresponsabledelasopinionesdelosinternautas
Porfavorrevisalaortografayrespetalasnormasdelaweb.
XHTML:Puedesutilizarlossiguientestags:
<ahref=""><b><i><strong>
AcercadeNosotros
Comunicacin
GrupoADSLZone
Contacto
ADSLZone
Publicidad
ADSLZoneTV
AvisoLegal
Google+
AndroidAyuda
GoogleCurrents
GamerZona
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
7/8
22/2/2015
CursodeJava:ResolucindelejerciciodeLinkedList
RSS
HardZone
RedesZone
SoftZone
SmartZona
TabletZona
TestdeVelocidad
RedesZone20102015
http://www.redeszone.net/2012/03/19/cursodejavaresoluciondelejerciciodelinkedlist/
8/8