SlideShare una empresa de Scribd logo
1 de 45
Hola compañero, bienvenido al primer ejercicio
Empecemos con un problema sencillo, pon
de este tutorial. Ya que has terminado de estudiar
mucha atención al enunciado…
la unidad número 2, es momento de poner en
práctica todo lo aprendido.
Empecemos con un problema sencillo, pon
mucha atención al enunciado…
Se desea manejar una lista de robots. Cada robot tiene un
número y un porcentaje de vida. El número de elementos
de la lista será un valor aleatorio entre 5 y 10. El porcentaje
de vida de cada ROBOT será un valor aleatorio entre 1 y
100. Se pide construir una aplicación en java que permita
cumplir con la siguiente funcionalidad:
1. Imprimir la lista de robot ordenada por porcentaje de
vida de los robots. Al principio de la lista DEBEN estar los
robots con menos porcentaje de vida.
2. Imprimir la cantidad de robot que tiene más del 50% de
vida.
3. Imprimir el número de los TRES robots que tienen mayor
porcentaje de vida.
Bueno veamos la solución.
Sencillo ¿verdad?
Bueno veamos la solución.
Esta clase nos permitirá guardar
Para no crear uno manualmente,
También sin tener que función
Para esto utilizaremos la que
El problema pide generar
elementosse nossolicita asignar
usaremos la clase ArrayList de
números aleatorios.
Random de la un número
manejemos clase Math.
necesariamenteun arreglo. fijo
Java.
de elementos.
Esta clase nos permitirá guardar
Para no crear uno manualmente,
También sin tener que función
Para esto utilizaremos la asignar
elementosse nos pide generar
usaremos la clase ArrayList de
números aleatorios.
Random de la clase Math.
necesariamente un número fijo
Java.
de elementos.
Esta clase nos permitirá guardar
Para no crear uno manualmente,
También sin tener que función
Para esto utilizaremos la asignar
elementosse nos pide generar
usaremos la clase ArrayList de
números aleatorios.
Random de la clase Math.
necesariamente un número fijo
Java.
de elementos.

ArrayList
Esta clase nos permitirá guardar
También sin tener que función
Para esto utilizaremos la asignar
elementosse nos pide generar
números aleatorios.
Random de la clase Math.
necesariamente un número fijo
de elementos.

ArrayList
También se nos pide generar
Para esto utilizaremos la función
números aleatorios.
Random de la clase Math.

ArrayList
Para esto utilizaremos la función
Random de la clase Math.

ArrayList
Para esto utilizaremos la función
Random de la clase Math.

ArrayList

Math.Random
Utilizaremos a interfaz
Ahora vamos la definir un
Comparable con el fin de
constructor que reciba como
sobreescribir los métodos
De acuerdo alel número y
parámetros problema los
Para esto utilizaremos la función
Ahora vamos a definir nuestra
toString() para mostrar los datos
atributos de nuestra clase Robot
porcentajeVida y, haciendo uso
Random de la clase Math.
clase Robot.
del de la referencia this,
seránrobot y CompareTo para
número y porcentajeVida
realizar las comparaciones
inicializaremos los atributos
necesarias entre los objetos Robot
correspondientes.
Utilizaremos a interfaz
Ahora vamos la definir un
Comparable con el fin de
constructor que reciba como
sobreescribir los métodos
De acuerdo alel número y
parámetros problema los
Para esto utilizaremos la función
toString() para mostrar los datos
atributos de nuestra clase Robot
porcentajeVida y, haciendo uso
Random de la clase Math.
del de la referencia this,
seránrobot y CompareTo para
número y porcentajeVida
realizar las comparaciones
inicializaremos los atributos
necesarias entre los objetos Robot
correspondientes.
Utilizaremos a interfaz
Ahora vamos la definir un
Comparable con el fin de
constructor que reciba como
sobreescribir los métodos
De acuerdo alel número y
parámetros problema los
Para esto utilizaremos la función
toString() para mostrar los datos
atributos de nuestra clase Robot
porcentajeVida y, haciendo uso
Random de la clase Math.
del de la referencia this,
seránrobot y CompareTo para
número y porcentajeVida
realizar las comparaciones
inicializaremos los atributos
necesarias entre los objetos Robot
correspondientes.

public class Robot implements
{

Comparable
Ahora vamos a definir un
constructor que reciba como
De acuerdo alel número y
parámetros problema los
Para esto utilizaremos la función
atributos de nuestra clase Robot
porcentajeVida y, haciendo uso
Random de la clase Math.
serán de la referencia this,
número y porcentajeVida
inicializaremos los atributos
correspondientes.

public class Robot implements
{

Comparable
Ahora vamos a definir un
constructor que reciba como
De acuerdo alel número y
parámetros problema los
Para esto utilizaremos la función
atributos de nuestra clase Robot
porcentajeVida y, haciendo uso
Random de la clase Math.
serán de la referencia this,
número y porcentajeVida
inicializaremos los atributos
correspondientes.

public class Robot implements
{
private int numero;
private int procentajeVida;

Comparable
Ahora vamos a definir un
constructor que reciba como
parámetros el número y
Para esto utilizaremos la función
porcentajeVida y, haciendo uso
Random de la clase Math.
de la referencia this,
inicializaremos los atributos
correspondientes.

public class Robot implements
{
private int numero;
private int procentajeVida;

Comparable
Ahora vamos a definir un
constructor que reciba como
parámetros el número y
Para esto utilizaremos la función
porcentajeVida y, haciendo uso
Random de la clase Math.
de la referencia this,
inicializaremos los atributos
correspondientes.

public class Robot implements
{

Comparable

private int numero;
private int procentajeVida;
public Robot(int numero,int procentajeVida)
{
this.numero=numero;
this.procentajeVida=procentajeVida;
}
Ya que los atributos son privados
Como el problema también nos
necesitamos un par de métodos
pide imprimir los datos del Robot
que nos devuelvan los valores
vamos a sobreescribir el método
correspondientes a número y
toString() para conseguirlo.
porcentajeVida
Ya que los atributos son privados
Como el problema también nos
necesitamos un par de métodos
pide imprimir los datos del Robot
que nos devuelvan los valores
vamos a sobreescribir el método
correspondientes a número y
toString() para conseguirlo.
porcentajeVida

public int getNumero()
{
return numero;
}
public int getPorcentajeVida()
{
return procentajeVida;
}
Como el problema también nos
pide imprimir los datos del Robot
vamos a sobreescribir el método
toString() para conseguirlo.

public int getNumero()
{
return numero;
}
public int getPorcentajeVida()
{
return procentajeVida;
}
Como el problema también nos
pide imprimir los datos del Robot
vamos a sobreescribir el método
toString() para conseguirlo.

public int getNumero()
{
return numero;
}
public int getPorcentajeVida()
{
return procentajeVida;
}
@Override
public String toString()
{
return "Numero: "+this.numero+“ Porcentaje
Vida: "+this.procentajeVida+”n”;
}
Para esto vamos a sobreescribir el
Finalmente, necesitamos un
método compareTo que recibe
método que nos permita realizar
como parámetro un los objetos
comparaciones entre objeto de
tipo Object.
de tipo robot.
Para esto vamos a sobreescribir el
método compareTo que recibe
como parámetro un objeto de
tipo Object.
Para esto vamos a sobreescribir el
método compareTo que recibe
como parámetro un objeto de
tipo Object.

@Override//Sobreescribiremos el metodo
compareTo
public int compareTo(Object t)
{
//convertimos el objeto t en un objeto de
//tipo Robot
Robot ro=(Robot)t;
return this.getPorcentajeVida()ro.getPorcentajeVida();
}
}
El problema menciona que el
número de elementos a incluir es
un número aleatorio clasea5la 10,
Ya tenemos nuestra entre clase
Como vamos a utilizar la Robot,
Ahora procederemos
y
ArrayList, es necesarioarreglo de
creación devamos a generarlo
por lo tanto nuestro importar la
ahora vamos a definir nuestro
con Math.Random y después a
main para probarla
librería java.Util
Robots.
realizar un for para llenar la lista
con el método add
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre clase
Como vamos a utilizar laa5la 10,
Ahora procederemos
y
ArrayList, es necesarioarreglo de
creación devamos a generarlo
por lo tanto nuestro importar la
con Math.Random y después a
librería java.Util
Robots.
realizar un for para llenar la lista
con el método add
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre clase
Como vamos a utilizar laa5la 10,
Ahora procederemos
y
ArrayList, es necesarioarreglo de
creación devamos a generarlo
por lo tanto nuestro importar la
con Math.Random y después a
librería java.Util
Robots.
realizar un for para llenar la lista
con el método add

import java.util.*;
public class Main
{
public static void main(String []ar)
{
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre 5la 10,
Ahora procederemos a y
creación devamos aarreglo de
por lo tanto nuestro generarlo
con Math.Random y después a
Robots.
realizar un for para llenar la lista
con el método add

import java.util.*;
public class Main
{
public static void main(String []ar)
{
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre 5la 10,
Ahora procederemos a y
creación devamos aarreglo de
por lo tanto nuestro generarlo
con Math.Random y después a
Robots.
realizar un for para llenar la lista
con el método add

import java.util.*;
public class Main
{
public static void main(String []ar)
{
//Array de Robot
ArrayList<Robot> lista = new
ArrayList<Robot>();
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre 5 y 10,
por lo tanto vamos a generarlo
con Math.Random y después a
realizar un for para llenar la lista
con el método add

import java.util.*;
public class Main
{
public static void main(String []ar)
{
//Array de Robot
ArrayList<Robot> lista = new
ArrayList<Robot>();
El problema menciona que el
número de elementos a incluir es
un número aleatorio entre 5 y 10,
por lo tanto vamos a generarlo
con Math.Random y después a
realizar un for para llenar la lista
con el método add

import java.util.*;
public class Main
{
public static void main(String []ar)
{
//Array de Robot
ArrayList<Robot> lista = new
ArrayList<Robot>();
//Generamos número de elementos a incluir
int intervalo = (int) (Math.random()*(105+1)+5);
for(int x=0; x<intervalo;x++)
{
lista.add(new
Robot(x,(int)(Math.random()*(1001+1)+1)));//Generamos otro aleatorio para
//el porcentaje de Vida
}
A continuación vamos a llamar al
método a imprimir la lista
Ahora vamos sort de la clase de
Collections y le enviaremos la lista
Robots
de Robots
A continuación vamos a llamar al
método a imprimir la lista
Ahora vamos sort de la clase de
Collections y le enviaremos la lista
Robots
de Robots

//Ordenamos la lista de robots
Collections.sort. Este método usara el
metodo sobreescrito compareTo en la clase
Robot

Collections.sort(lista);
Ahora vamos a imprimir la lista de
Robots

//Ordenamos la lista de robots
Collections.sort. Este método usara el
metodo sobreescrito compareTo en la clase
Robot

Collections.sort(lista);
Ahora vamos a imprimir la lista de
Robots

//Ordenamos la lista de robots
Collections.sort. Este método usara el
metodo sobreescrito compareTo en la clase
Robot

Collections.sort(lista);
//Imprimimos la lista y llamamos al metodo
toString el cual esta sobreescrito en la
clase Robot
System.out.println(lista.toString());
Vamos a proceder ahora a
calcular el número de Robots con
porcentaje de vida mayor a 50 e
imprimiremos el resultado.
Vamos a proceder ahora a
calcular el número de Robots con
porcentaje de vida mayor a 50 e
imprimiremos el resultado.

//Recorremos la lista de robot y por cada
porcentaje de vida mayor a 50 la variable
cantidad se incrementa
int cantidad=0;
for(int x=0;x<lista.size();x++)
{
if(lista.get(x).getPorcentajeVida()>50)
{
cantidad++;
}
}
//Imprimimos la cantidad de robots que
tienen vida superior a 50
System.out.println("Vida
superior al 50%"+cantidad);
Por último se mostrarán los 3
números de los últimos robots con
mayor porcentaje de Vida
//Se imprimiran los numeros de los 3
ultimos robots con mayor porcentaje de vida

Por último se mostrarán los 3
números de los últimos robots con
mayor porcentaje de Vida

System.out.println(lista.get(lista.s
ize()-1).getNumero()+""+lista.get(lista.size()-2).getNumero()+""+lista.get(lista.size()-3).getNumero());
}
}
Utilizando JCreator ejecutamos
nuestro main y obtenemos la
siguiente salida en pantalla.
Esto fue todo por ahora, espero
Nos vemos en el siguiente
que la solución de este ejercicio
ejercicio. Hasta pronto.
te haya sido clara y provechosa.
Nos vemos en el siguiente
ejercicio. Hasta pronto.

Más contenido relacionado

La actualidad más candente

Herencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaHerencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaAme Linares Vivas
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Aijaz Ali Abro
 
20.2 Java inheritance
20.2 Java inheritance20.2 Java inheritance
20.2 Java inheritanceIntro C# Book
 
Java Foundations: Arrays
Java Foundations: ArraysJava Foundations: Arrays
Java Foundations: ArraysSvetlin Nakov
 
Java collections concept
Java collections conceptJava collections concept
Java collections conceptkumar gaurav
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Regular Expressions in Java
Regular Expressions in JavaRegular Expressions in Java
Regular Expressions in JavaOblivionWalker
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objekrizki adam kurniawan
 
Proyecto para programacion y estructura
Proyecto para programacion y estructuraProyecto para programacion y estructura
Proyecto para programacion y estructuraChristian Torres
 

La actualidad más candente (20)

Herencia y Polimorfismo en Java
Herencia y Polimorfismo en JavaHerencia y Polimorfismo en Java
Herencia y Polimorfismo en Java
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Method overloading
Method overloadingMethod overloading
Method overloading
 
Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Collections and its types in C# (with examples)
Collections and its types in C# (with examples)
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
20.2 Java inheritance
20.2 Java inheritance20.2 Java inheritance
20.2 Java inheritance
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
Clases Genéricas en Java
Clases Genéricas en JavaClases Genéricas en Java
Clases Genéricas en Java
 
Java Foundations: Arrays
Java Foundations: ArraysJava Foundations: Arrays
Java Foundations: Arrays
 
Java collections
Java collectionsJava collections
Java collections
 
Array dan fungsi
Array dan fungsiArray dan fungsi
Array dan fungsi
 
Java collections concept
Java collections conceptJava collections concept
Java collections concept
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
 
Regular Expressions in Java
Regular Expressions in JavaRegular Expressions in Java
Regular Expressions in Java
 
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
 
Proyecto para programacion y estructura
Proyecto para programacion y estructuraProyecto para programacion y estructura
Proyecto para programacion y estructura
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 

Similar a POO Unidad 2: Clases y objetos Ejercicio 1

Similar a POO Unidad 2: Clases y objetos Ejercicio 1 (20)

Linq 1207579553462901 8
Linq 1207579553462901 8Linq 1207579553462901 8
Linq 1207579553462901 8
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 
Linq
LinqLinq
Linq
 
Linq
LinqLinq
Linq
 
Linq
LinqLinq
Linq
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
Matlab INIT
Matlab INITMatlab INIT
Matlab INIT
 
Matlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioMatlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecio
 
Matlab_basic.pptx
Matlab_basic.pptxMatlab_basic.pptx
Matlab_basic.pptx
 
Repaso excel nivel medio
Repaso excel nivel medioRepaso excel nivel medio
Repaso excel nivel medio
 
Software para cálculos matemáticos
Software para cálculos matemáticosSoftware para cálculos matemáticos
Software para cálculos matemáticos
 
Dfd
DfdDfd
Dfd
 
Diagramas de flujo1
Diagramas de flujo1Diagramas de flujo1
Diagramas de flujo1
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Manual de DFD_3
Manual de DFD_3Manual de DFD_3
Manual de DFD_3
 
Manual de dfd
Manual de dfd Manual de dfd
Manual de dfd
 
Manual de dfd
Manual de dfdManual de dfd
Manual de dfd
 
MANUAL DFD
MANUAL DFDMANUAL DFD
MANUAL DFD
 
MANUAL DE DFD
MANUAL DE DFD MANUAL DE DFD
MANUAL DE DFD
 
MANUAL DE DFD
MANUAL DE DFDMANUAL DE DFD
MANUAL DE DFD
 

Más de Fabiola Valerio Ramirez

Más de Fabiola Valerio Ramirez (20)

Unidad 6: Flujos y Archivos Ejercicio 4
Unidad 6: Flujos y Archivos Ejercicio 4Unidad 6: Flujos y Archivos Ejercicio 4
Unidad 6: Flujos y Archivos Ejercicio 4
 
Unidad 6: Flujos y Archivos Ejercicio 3
Unidad 6: Flujos y Archivos Ejercicio 3Unidad 6: Flujos y Archivos Ejercicio 3
Unidad 6: Flujos y Archivos Ejercicio 3
 
Unidad 6: Flujos y Archivos Ejercicio 2
Unidad 6: Flujos y Archivos Ejercicio 2Unidad 6: Flujos y Archivos Ejercicio 2
Unidad 6: Flujos y Archivos Ejercicio 2
 
Unidad 6: Flujos y Archivos Ejercicio 1
Unidad 6: Flujos y Archivos Ejercicio 1Unidad 6: Flujos y Archivos Ejercicio 1
Unidad 6: Flujos y Archivos Ejercicio 1
 
Unidad 5: Excepciones Ejercicio 4
Unidad 5: Excepciones Ejercicio 4Unidad 5: Excepciones Ejercicio 4
Unidad 5: Excepciones Ejercicio 4
 
Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3Unidad 5: Excepciones Ejercicio 3
Unidad 5: Excepciones Ejercicio 3
 
Unidad 5: Excepciones Ejercicio 2
Unidad 5: Excepciones Ejercicio 2Unidad 5: Excepciones Ejercicio 2
Unidad 5: Excepciones Ejercicio 2
 
Unidad 5: Excepciones Ejercicio 1
Unidad 5: Excepciones Ejercicio 1Unidad 5: Excepciones Ejercicio 1
Unidad 5: Excepciones Ejercicio 1
 
Unidad 4: Polimorfismo Ejercicio 4
Unidad 4: Polimorfismo Ejercicio 4Unidad 4: Polimorfismo Ejercicio 4
Unidad 4: Polimorfismo Ejercicio 4
 
Unidad 4: Polimorfismo Ejercicio 3
Unidad 4: Polimorfismo Ejercicio 3Unidad 4: Polimorfismo Ejercicio 3
Unidad 4: Polimorfismo Ejercicio 3
 
Unidad 2: Clases y objetos Ejercicio 1
Unidad 2: Clases y objetos Ejercicio 1Unidad 2: Clases y objetos Ejercicio 1
Unidad 2: Clases y objetos Ejercicio 1
 
Unidad 4: Polimorfismo Ejercicio 2
Unidad 4: Polimorfismo Ejercicio 2Unidad 4: Polimorfismo Ejercicio 2
Unidad 4: Polimorfismo Ejercicio 2
 
Unidad 4: Polimorfismo Ejercicio 1
Unidad 4: Polimorfismo Ejercicio 1Unidad 4: Polimorfismo Ejercicio 1
Unidad 4: Polimorfismo Ejercicio 1
 
E2 copia
E2   copiaE2   copia
E2 copia
 
Unidad 3: Herencia Ejercicio 4
Unidad 3: Herencia Ejercicio 4Unidad 3: Herencia Ejercicio 4
Unidad 3: Herencia Ejercicio 4
 
Unidad 3: Herencia Ejercicio 3
Unidad 3: Herencia Ejercicio 3Unidad 3: Herencia Ejercicio 3
Unidad 3: Herencia Ejercicio 3
 
Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2
 
Unidad 3: Herencia Ejercicio 1
Unidad 3: Herencia Ejercicio 1Unidad 3: Herencia Ejercicio 1
Unidad 3: Herencia Ejercicio 1
 
Unidad 2: Clases y objetos Ejercicio 4
Unidad 2: Clases y objetos Ejercicio 4Unidad 2: Clases y objetos Ejercicio 4
Unidad 2: Clases y objetos Ejercicio 4
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 

Último

PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfJAVIER SOLIS NOYOLA
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 

Último (20)

PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdfLA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 

POO Unidad 2: Clases y objetos Ejercicio 1

  • 1.
  • 2. Hola compañero, bienvenido al primer ejercicio Empecemos con un problema sencillo, pon de este tutorial. Ya que has terminado de estudiar mucha atención al enunciado… la unidad número 2, es momento de poner en práctica todo lo aprendido.
  • 3. Empecemos con un problema sencillo, pon mucha atención al enunciado…
  • 4. Se desea manejar una lista de robots. Cada robot tiene un número y un porcentaje de vida. El número de elementos de la lista será un valor aleatorio entre 5 y 10. El porcentaje de vida de cada ROBOT será un valor aleatorio entre 1 y 100. Se pide construir una aplicación en java que permita cumplir con la siguiente funcionalidad: 1. Imprimir la lista de robot ordenada por porcentaje de vida de los robots. Al principio de la lista DEBEN estar los robots con menos porcentaje de vida. 2. Imprimir la cantidad de robot que tiene más del 50% de vida. 3. Imprimir el número de los TRES robots que tienen mayor porcentaje de vida.
  • 5. Bueno veamos la solución. Sencillo ¿verdad?
  • 6. Bueno veamos la solución.
  • 7. Esta clase nos permitirá guardar Para no crear uno manualmente, También sin tener que función Para esto utilizaremos la que El problema pide generar elementosse nossolicita asignar usaremos la clase ArrayList de números aleatorios. Random de la un número manejemos clase Math. necesariamenteun arreglo. fijo Java. de elementos.
  • 8. Esta clase nos permitirá guardar Para no crear uno manualmente, También sin tener que función Para esto utilizaremos la asignar elementosse nos pide generar usaremos la clase ArrayList de números aleatorios. Random de la clase Math. necesariamente un número fijo Java. de elementos.
  • 9. Esta clase nos permitirá guardar Para no crear uno manualmente, También sin tener que función Para esto utilizaremos la asignar elementosse nos pide generar usaremos la clase ArrayList de números aleatorios. Random de la clase Math. necesariamente un número fijo Java. de elementos. ArrayList
  • 10. Esta clase nos permitirá guardar También sin tener que función Para esto utilizaremos la asignar elementosse nos pide generar números aleatorios. Random de la clase Math. necesariamente un número fijo de elementos. ArrayList
  • 11. También se nos pide generar Para esto utilizaremos la función números aleatorios. Random de la clase Math. ArrayList
  • 12. Para esto utilizaremos la función Random de la clase Math. ArrayList
  • 13. Para esto utilizaremos la función Random de la clase Math. ArrayList Math.Random
  • 14. Utilizaremos a interfaz Ahora vamos la definir un Comparable con el fin de constructor que reciba como sobreescribir los métodos De acuerdo alel número y parámetros problema los Para esto utilizaremos la función Ahora vamos a definir nuestra toString() para mostrar los datos atributos de nuestra clase Robot porcentajeVida y, haciendo uso Random de la clase Math. clase Robot. del de la referencia this, seránrobot y CompareTo para número y porcentajeVida realizar las comparaciones inicializaremos los atributos necesarias entre los objetos Robot correspondientes.
  • 15. Utilizaremos a interfaz Ahora vamos la definir un Comparable con el fin de constructor que reciba como sobreescribir los métodos De acuerdo alel número y parámetros problema los Para esto utilizaremos la función toString() para mostrar los datos atributos de nuestra clase Robot porcentajeVida y, haciendo uso Random de la clase Math. del de la referencia this, seránrobot y CompareTo para número y porcentajeVida realizar las comparaciones inicializaremos los atributos necesarias entre los objetos Robot correspondientes.
  • 16. Utilizaremos a interfaz Ahora vamos la definir un Comparable con el fin de constructor que reciba como sobreescribir los métodos De acuerdo alel número y parámetros problema los Para esto utilizaremos la función toString() para mostrar los datos atributos de nuestra clase Robot porcentajeVida y, haciendo uso Random de la clase Math. del de la referencia this, seránrobot y CompareTo para número y porcentajeVida realizar las comparaciones inicializaremos los atributos necesarias entre los objetos Robot correspondientes. public class Robot implements { Comparable
  • 17. Ahora vamos a definir un constructor que reciba como De acuerdo alel número y parámetros problema los Para esto utilizaremos la función atributos de nuestra clase Robot porcentajeVida y, haciendo uso Random de la clase Math. serán de la referencia this, número y porcentajeVida inicializaremos los atributos correspondientes. public class Robot implements { Comparable
  • 18. Ahora vamos a definir un constructor que reciba como De acuerdo alel número y parámetros problema los Para esto utilizaremos la función atributos de nuestra clase Robot porcentajeVida y, haciendo uso Random de la clase Math. serán de la referencia this, número y porcentajeVida inicializaremos los atributos correspondientes. public class Robot implements { private int numero; private int procentajeVida; Comparable
  • 19. Ahora vamos a definir un constructor que reciba como parámetros el número y Para esto utilizaremos la función porcentajeVida y, haciendo uso Random de la clase Math. de la referencia this, inicializaremos los atributos correspondientes. public class Robot implements { private int numero; private int procentajeVida; Comparable
  • 20. Ahora vamos a definir un constructor que reciba como parámetros el número y Para esto utilizaremos la función porcentajeVida y, haciendo uso Random de la clase Math. de la referencia this, inicializaremos los atributos correspondientes. public class Robot implements { Comparable private int numero; private int procentajeVida; public Robot(int numero,int procentajeVida) { this.numero=numero; this.procentajeVida=procentajeVida; }
  • 21. Ya que los atributos son privados Como el problema también nos necesitamos un par de métodos pide imprimir los datos del Robot que nos devuelvan los valores vamos a sobreescribir el método correspondientes a número y toString() para conseguirlo. porcentajeVida
  • 22. Ya que los atributos son privados Como el problema también nos necesitamos un par de métodos pide imprimir los datos del Robot que nos devuelvan los valores vamos a sobreescribir el método correspondientes a número y toString() para conseguirlo. porcentajeVida public int getNumero() { return numero; } public int getPorcentajeVida() { return procentajeVida; }
  • 23. Como el problema también nos pide imprimir los datos del Robot vamos a sobreescribir el método toString() para conseguirlo. public int getNumero() { return numero; } public int getPorcentajeVida() { return procentajeVida; }
  • 24. Como el problema también nos pide imprimir los datos del Robot vamos a sobreescribir el método toString() para conseguirlo. public int getNumero() { return numero; } public int getPorcentajeVida() { return procentajeVida; } @Override public String toString() { return "Numero: "+this.numero+“ Porcentaje Vida: "+this.procentajeVida+”n”; }
  • 25. Para esto vamos a sobreescribir el Finalmente, necesitamos un método compareTo que recibe método que nos permita realizar como parámetro un los objetos comparaciones entre objeto de tipo Object. de tipo robot.
  • 26. Para esto vamos a sobreescribir el método compareTo que recibe como parámetro un objeto de tipo Object.
  • 27. Para esto vamos a sobreescribir el método compareTo que recibe como parámetro un objeto de tipo Object. @Override//Sobreescribiremos el metodo compareTo public int compareTo(Object t) { //convertimos el objeto t en un objeto de //tipo Robot Robot ro=(Robot)t; return this.getPorcentajeVida()ro.getPorcentajeVida(); } }
  • 28. El problema menciona que el número de elementos a incluir es un número aleatorio clasea5la 10, Ya tenemos nuestra entre clase Como vamos a utilizar la Robot, Ahora procederemos y ArrayList, es necesarioarreglo de creación devamos a generarlo por lo tanto nuestro importar la ahora vamos a definir nuestro con Math.Random y después a main para probarla librería java.Util Robots. realizar un for para llenar la lista con el método add
  • 29. El problema menciona que el número de elementos a incluir es un número aleatorio entre clase Como vamos a utilizar laa5la 10, Ahora procederemos y ArrayList, es necesarioarreglo de creación devamos a generarlo por lo tanto nuestro importar la con Math.Random y después a librería java.Util Robots. realizar un for para llenar la lista con el método add
  • 30. El problema menciona que el número de elementos a incluir es un número aleatorio entre clase Como vamos a utilizar laa5la 10, Ahora procederemos y ArrayList, es necesarioarreglo de creación devamos a generarlo por lo tanto nuestro importar la con Math.Random y después a librería java.Util Robots. realizar un for para llenar la lista con el método add import java.util.*; public class Main { public static void main(String []ar) {
  • 31. El problema menciona que el número de elementos a incluir es un número aleatorio entre 5la 10, Ahora procederemos a y creación devamos aarreglo de por lo tanto nuestro generarlo con Math.Random y después a Robots. realizar un for para llenar la lista con el método add import java.util.*; public class Main { public static void main(String []ar) {
  • 32. El problema menciona que el número de elementos a incluir es un número aleatorio entre 5la 10, Ahora procederemos a y creación devamos aarreglo de por lo tanto nuestro generarlo con Math.Random y después a Robots. realizar un for para llenar la lista con el método add import java.util.*; public class Main { public static void main(String []ar) { //Array de Robot ArrayList<Robot> lista = new ArrayList<Robot>();
  • 33. El problema menciona que el número de elementos a incluir es un número aleatorio entre 5 y 10, por lo tanto vamos a generarlo con Math.Random y después a realizar un for para llenar la lista con el método add import java.util.*; public class Main { public static void main(String []ar) { //Array de Robot ArrayList<Robot> lista = new ArrayList<Robot>();
  • 34. El problema menciona que el número de elementos a incluir es un número aleatorio entre 5 y 10, por lo tanto vamos a generarlo con Math.Random y después a realizar un for para llenar la lista con el método add import java.util.*; public class Main { public static void main(String []ar) { //Array de Robot ArrayList<Robot> lista = new ArrayList<Robot>(); //Generamos número de elementos a incluir int intervalo = (int) (Math.random()*(105+1)+5); for(int x=0; x<intervalo;x++) { lista.add(new Robot(x,(int)(Math.random()*(1001+1)+1)));//Generamos otro aleatorio para //el porcentaje de Vida }
  • 35. A continuación vamos a llamar al método a imprimir la lista Ahora vamos sort de la clase de Collections y le enviaremos la lista Robots de Robots
  • 36. A continuación vamos a llamar al método a imprimir la lista Ahora vamos sort de la clase de Collections y le enviaremos la lista Robots de Robots //Ordenamos la lista de robots Collections.sort. Este método usara el metodo sobreescrito compareTo en la clase Robot Collections.sort(lista);
  • 37. Ahora vamos a imprimir la lista de Robots //Ordenamos la lista de robots Collections.sort. Este método usara el metodo sobreescrito compareTo en la clase Robot Collections.sort(lista);
  • 38. Ahora vamos a imprimir la lista de Robots //Ordenamos la lista de robots Collections.sort. Este método usara el metodo sobreescrito compareTo en la clase Robot Collections.sort(lista); //Imprimimos la lista y llamamos al metodo toString el cual esta sobreescrito en la clase Robot System.out.println(lista.toString());
  • 39. Vamos a proceder ahora a calcular el número de Robots con porcentaje de vida mayor a 50 e imprimiremos el resultado.
  • 40. Vamos a proceder ahora a calcular el número de Robots con porcentaje de vida mayor a 50 e imprimiremos el resultado. //Recorremos la lista de robot y por cada porcentaje de vida mayor a 50 la variable cantidad se incrementa int cantidad=0; for(int x=0;x<lista.size();x++) { if(lista.get(x).getPorcentajeVida()>50) { cantidad++; } } //Imprimimos la cantidad de robots que tienen vida superior a 50 System.out.println("Vida superior al 50%"+cantidad);
  • 41. Por último se mostrarán los 3 números de los últimos robots con mayor porcentaje de Vida
  • 42. //Se imprimiran los numeros de los 3 ultimos robots con mayor porcentaje de vida Por último se mostrarán los 3 números de los últimos robots con mayor porcentaje de Vida System.out.println(lista.get(lista.s ize()-1).getNumero()+""+lista.get(lista.size()-2).getNumero()+""+lista.get(lista.size()-3).getNumero()); } }
  • 43. Utilizando JCreator ejecutamos nuestro main y obtenemos la siguiente salida en pantalla.
  • 44. Esto fue todo por ahora, espero Nos vemos en el siguiente que la solución de este ejercicio ejercicio. Hasta pronto. te haya sido clara y provechosa.
  • 45. Nos vemos en el siguiente ejercicio. Hasta pronto.