Post on 25-Jun-2015
Unidad 2: Clases y Objetos“Ejercicio 1”
Empecemos con un problema sencillo, pon mucha atención al enunciado…
Hola compañero, bienvenido al primer ejercicio de este tutorial. Ya que has
terminado de estudiar 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.
Para esto utilizaremos la función Random de la clase
Math.
También se nos pide generar números aleatorios.
Esta clase nos permitirá guardar elementos sin tener que asignar necesariamente un número fijo de elementos.
Para no crear uno manualmente, usaremos la
clase ArrayList de Java.
El problema solicita que manejemos un arreglo.
Para esto utilizaremos la función Random de la clase
Math.
También se nos pide generar números aleatorios.
Esta clase nos permitirá guardar elementos sin tener que asignar necesariamente un número fijo de elementos.
Para no crear uno manualmente, usaremos la
clase ArrayList de Java.
Para esto utilizaremos la función Random de la clase
Math.
También se nos pide generar números aleatorios.
Esta clase nos permitirá guardar elementos sin tener que asignar necesariamente un número fijo de elementos.
Para no crear uno manualmente, usaremos la
clase ArrayList de Java.
ArrayList
Para esto utilizaremos la función Random de la clase
Math.
También se nos pide generar números aleatorios.
Esta clase nos permitirá guardar elementos sin tener que asignar necesariamente un número fijo de elementos.
ArrayList
Para esto utilizaremos la función Random de la clase
Math.
También se nos pide generar números aleatorios.
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
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
De acuerdo al problema los atributos de nuestra clase
Robot serán número y porcentajeVida
Utilizaremos la interfaz Comparable con el fin de sobreescribir los métodos toString() para mostrar los
datos del robot y CompareTo para realizar las
comparaciones necesarias entre los objetos Robot
Ahora vamos a definir nuestra clase Robot.
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
De acuerdo al problema los atributos de nuestra clase
Robot serán número y porcentajeVida
Utilizaremos la interfaz Comparable con el fin de sobreescribir los métodos toString() para mostrar los
datos del robot y CompareTo para realizar las
comparaciones necesarias entre los objetos Robot
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
De acuerdo al problema los atributos de nuestra clase
Robot serán número y porcentajeVida
Utilizaremos la interfaz Comparable con el fin de sobreescribir los métodos toString() para mostrar los
datos del robot y CompareTo para realizar las
comparaciones necesarias entre los objetos Robot
public class Robot implements Comparable{
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
De acuerdo al problema los atributos de nuestra clase
Robot serán número y porcentajeVida
public class Robot implements Comparable{
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
De acuerdo al problema los atributos de nuestra clase
Robot serán número y porcentajeVida
public class Robot implements Comparable{
private int numero;private int procentajeVida;
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso de la referencia this,
inicializaremos los atributos correspondientes.
public class Robot implements Comparable{
private int numero;private int procentajeVida;
Para esto utilizaremos la función Random de la clase
Math.
Ahora vamos a definir un constructor que reciba como
parámetros el número y porcentajeVida y, haciendo uso 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;}
Como el problema también nos pide imprimir los datos
del Robot vamos a sobreescribir el método
toString() para conseguirlo.
Ya que los atributos son privados necesitamos un par
de métodos que nos devuelvan los valores
correspondientes a número y porcentajeVida
Como el problema también nos pide imprimir los datos
del Robot vamos a sobreescribir el método
toString() para conseguirlo.
Ya que los atributos son privados necesitamos un par
de métodos que nos devuelvan los valores
correspondientes a número y 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;}@Overridepublic String toString(){return "Numero: "+this.numero+“ Porcentaje Vida: "+this.procentajeVida+”\n”;}
Para esto vamos a sobreescribir el método
compareTo que recibe como parámetro un objeto de tipo
Object.
Finalmente, necesitamos un método que nos permita
realizar comparaciones entre los objetos 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 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
Ahora procederemos a la creación de nuestro arreglo
de Robots.
Como vamos a utilizar la clase ArrayList, es necesario importar la librería java.Util
Ya tenemos nuestra clase Robot, ahora vamos a definir nuestro main para probarla
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
Ahora procederemos a la creación de nuestro arreglo
de Robots.
Como vamos a utilizar la clase ArrayList, es necesario importar la librería java.Util
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
Ahora procederemos a la creación de nuestro arreglo
de Robots.
Como vamos a utilizar la clase ArrayList, es necesario importar la librería java.Util
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 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
Ahora procederemos a la creación de nuestro arreglo
de Robots.
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 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
Ahora procederemos a la creación de nuestro arreglo
de Robots.
import java.util.*;public class Main{public static void main(String []ar){//Array de RobotArrayList<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 RobotArrayList<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 RobotArrayList<Robot> lista = new ArrayList<Robot>();
//Generamos número de elementos a incluirint intervalo = (int) (Math.random()*(10-5+1)+5);
for(int x=0; x<intervalo;x++){lista.add(new Robot(x,(int)(Math.random()*(100-1+1)+1)));//Generamos otro aleatorio para //el porcentaje de Vida}
Ahora vamos a imprimir la lista de Robots
A continuación vamos a llamar al método sort de la
clase Collections y le enviaremos la lista de
Robots
Ahora vamos a imprimir la lista de Robots
A continuación vamos a llamar al método sort de la
clase Collections y le enviaremos 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);
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 RobotSystem.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 incrementaint 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
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
System.out.println(lista.get(lista.size()-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.
Nos vemos en el siguiente ejercicio. Hasta pronto.
Esto fue todo por ahora, espero que la solución de este ejercicio te haya sido
clara y provechosa.
Nos vemos en el siguiente ejercicio. Hasta pronto.