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.
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
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());
}
}
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.