Clase Perro
package composicion_sencilla;
/**
* Clase que define un objeto Perro
*
* @author GALIA
* @version 1.0
*/
public class Perro {
/* Atributos privados */
private String nombre;
private int edad;
/* Constructor */
/**
* @param nombre
* @param edad
*/
public Perro(String nombre, int edad) {
this.setNombre(nombre);
this.setEdad(edad);
}
/* Métodos de obtención y establecimiento */
/**
* @return nombre del perro
*/
public String getNombre() {
return nombre;
}
/**
* @param nombre
* del perro
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}
/**
* @return edad del perro
*/
public int getEdad() {
return edad;
}
/**
* @param edad
* del perro
*/
public void setEdad(int edad) {
this.edad = edad;
}
}
Clase Perrera
package composicion_sencilla;
/**
* Clase Perrera. Contiene el array de objetos Perro
*
* @author GALIA
* @version 1.0
*/
public class Perrera {
/* atributos privados */
/* la longitud del array, no es dinámico, al instanciarlo hay que declararla */
private int numero_de_perros;
/*declaramos un array de String de tipo Perro */
private Perro[] lista_de_perros;
/**
* Constructor
*
* @param numero_de_perros
* . La longitud del array
*/
public Perrera(int numero_de_perros) {
/*instanciamos el array*/
lista_de_perros = new Perro[numero_de_perros];
/* a principio el array está vacío */
numero_de_perros = 0;
}
/* Añadir un perro a la lista */
/**
* @param perro
* . El objeto
* @param indice
* . La posición del array donde se inserta el objeto
*/
public void añadir_perro(Perro perro, int indice) {
/*
* en la posición indicada por numero_de_perros se guarda el objeto
* pasado por parámetro al método
*/
lista_de_perros[numero_de_perros] = perro;
/* el contador de posiciones aumenta */
numero_de_perros++;
}
/* Borrar perro */
public void borrar_perro(String nombre_perro) {
int posicion;
posicion = buscar_perro(nombre_perro);
for (int i = posicion; i < numero_de_perros - 1; i++) {
lista_de_perros[i] = lista_de_perros[i + 1];
}
numero_de_perros--;
}
/* Buscar a un perro en la lista */
public int buscar_perro(String nombre_perro) {
int encontrado = -1;
for (int i = 0; i < numero_de_perros; i++) {
if (nombre_perro.equals(lista_de_perros[i].getNombre())) {
encontrado = i;
break;
}
}
return encontrado;
}
public Perro[] getLista_de_perros() {
return lista_de_perros;
}
public int getNumero_de_perros() {
return numero_de_perros;
}
}
Clase que comprueba esto.
package composicion_sencilla;
/**
* Clase que tiene el método main
*
* @author GALIA
* @version 1.0
*/
public class Gestionar_Perrera {
public static void main(String[] args) {
/* Creo una Perrera de 5 animales */
Perrera lista_perros;
lista_perros = new Perrera(5);
/* Creo 5 perros */
Perro perro1;
Perro perro2;
Perro perro3;
Perro perro4;
Perro perro5;
perro1 = new Perro("Balkan", 2);
perro2 = new Perro("Pirin", 7);
perro3 = new Perro("Tangra", 1);
perro4 = new Perro("Perun", 5);
perro5 = new Perro("Rila", 3);
/* Añadimos los perros a la perrera */
lista_perros.añadir_perro(perro1, 0);
lista_perros.añadir_perro(perro2, 0);
lista_perros.añadir_perro(perro3, 0);
lista_perros.añadir_perro(perro4, 0);
lista_perros.añadir_perro(perro5, 0);
/* Obtenemos los valores de los atributos de la lista de perros */
Perro[] perros;
perros = lista_perros.getLista_de_perros();
int numero_perros;
numero_perros = lista_perros.getNumero_de_perros();
/* Mostramos los perros que hay en la lista */
generar_informe(perros, numero_perros);
System.out.println("\nBorramos Balkan\n");
/* Borramos a Balkan de la lista */
lista_perros.borrar_perro("Balkan");
perros = lista_perros.getLista_de_perros();
numero_perros = lista_perros.getNumero_de_perros();
for (int i = 0; i < numero_perros; i++) {
System.out.println(perros[i].getNombre() + " "
+ perros[i].getEdad());
}
}
/**
* @param lista_perros
* @param numero
*/
private static void generar_informe(Perro[] lista_perros, int numero) {
for (int i = 0; i < numero; i++) {
System.out.println(lista_perros[i].getNombre() + " "
+ lista_perros[i].getEdad());
}
}
}
App para gestionar una perrera.
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.