- Ejemplo 1:
- Código "circulo.java"
- Código "Figuras.java":
- Ejemplo 2:
- Persona.java
- Agenda.java
- Juega.java
- Ejemplo 3:
- public String getNombre();
- public String getApellidos();
- ...
En este ejemplo se define la clase Circulo.java y se utiliza en este sencillo programa Figuras.java.
¿Funciona como esperabas?.
Prueba a jugar con el ejemplo para crear nuevos círculos.
//
// Circulo.java
// Figuras
//
// Created by Oscarin on 11/07/06.
//
public class Circulo {
private final static float PI = 3.141592f;
private float radio = 0.0f; // Radio por defecto
// Constructor por defecto
public Circulo() {};
/**
* Devuelve el valor de PI.
* Se declara static porque accede a un atributo static
*/
public static float getPI() {
return PI;
}
/**
* Método static que intercambia dos referencias
* Las referencias se pasan por valor
* @param Circulo uno El primer círculo
* @param Circulo dos El segundo círculo
*/
public static void intercambia(Circulo uno, Circulo dos) {
Circulo tmp; // Referencia temporal
tmp = uno;
uno = dos;
dos = tmp;
}
/**
* Función get para leer el radio
* @return Devuelve el radio del círculo
*/
public float getRadio() {
return radio;
}
/**
* Método que cambia el valor del radio.
* Antes de cambiar el radio comprobamos que no es
* un valor negativo.
* @param float radio El nuevo valor para el radio
*/
public void setRadio(float radio) {
if(radio >= 0) this.radio = radio;
}
/**
* Devuelve el área del círculo.
* @return El valor del área.
*/
public float getArea() {
return PI*radio*radio;
}
}
//
// Figuras.java
// Figuras
//
// Created by Oscarin on 11/07/06.
//
public class Figuras {
public static void main (String args[]) {
// No necesitamos crear una instancia para acceder
// a un método static
System.out.println("El valor de PI es: " + Circulo.getPI());
// Creamos una instancia
Circulo circulo = new Circulo();
// Cambiamos el valor del radio
circulo.setRadio(1.0f);
// Calculamos el valor del area del círculo
System.out.println("El radio del circulo es: " + circulo.getRadio() + ", y su area es: " + circulo.getArea());
Circulo otroCirculo = new Circulo();
otroCirculo.setRadio(2.0f);
// Mostramos información de los dos círculos
System.out.println("El primer circulo tiene radio: " + circulo.getRadio());
System.out.println("Y el segundo circulo tiene radio: " + otroCirculo.getRadio());
// Ahora intercambiamos las referencias
Circulo.intercambia(circulo, otroCirculo);
// Mostramos información de los dos círculos
System.out.println("El primer circulo tiene radio: " + circulo.getRadio());
System.out.println("Y el segundo circulo tiene radio: " + otroCirculo.getRadio());
// !!!!QUE FALLÓ
}
}
Aquí tienes una posible solución al ejercicio de la Agenda telefónica. Descarga el código, construye un proyecto con él, ejecútalo, estúdialo y compáralo con tu propio código.
Mismo código que en el ejercicio resuelto anteriormente solo que utiliza una sola variable para guardar la información "apellidos".
package agenda;
public class Agenda {
private static final int MAX_ENTRADAS = 100;
private Persona entradas[] = new Persona[MAX_ENTRADAS];
private int cnt = 0;
public Agenda() {}
public void nuevaEntrada(Persona nueva) {
// TODO Aquí debería comprobar si queda espacio en la agenda.
//MI SOLUCIÓN
if(cnt== MAX_ENTRADAS){
System.out.println("No queda espacio en la agenda");
}
else{
entradas[cnt++] = nueva;
}
}
public Persona buscaEntrada(String nombre) {
Persona encontrado = new Persona("No encontrado", "", "");
boolean seEncontro = false;
int cnt = 0;
while(!seEncontro && cnt < this.cnt) {
if(entradas[cnt].getNombre().equals(nombre) == true) {
encontrado = entradas[cnt];
seEncontro = true;
}
cnt++;
}
return encontrado;
}
public Persona getEntrada(int posicion) {
// TODO Debería comprobar que la posición está dentro de rango.
//MI SOLUCIÓN
Persona overRange = new Persona("La posición a la que intentas acceder está fuera de rango","","");
if(posicion > MAX_ENTRADAS){
return overRange;
}
else{
return entradas[posicion];
}
}
public int getNumeroEntradas() {
return cnt;
}
}
package agenda;
public class Juega {
private Agenda agenda = new Agenda();
private Juega(){}
private void ejecuta() {
agenda.nuevaEntrada(new Persona("Oscar", "Belmonte", "1"));
System.out.println("Numero entradas: " + agenda.getNumeroEntradas());
Persona tmp = agenda.buscaEntrada("Oscar");
System.out.println("Nombre: " + tmp.getNombre());
System.out.println("Apellidos: " + tmp.getApellidos());
System.out.println("Telefono: " + tmp.getTelefono());
}
public static void main(String[] args) {
new Juega().ejecuta();
}
}
Esta biblioteca de utilidades generadorNombres.jar te permite generar nombres, apellidos y otros datos de manera aleatoria para que no tengas que introducirlos por teclado.
Su uso es muy sencillo, una vez que has añadido la biblioteca a tu proyecto, sólo tienes que crear una instancia de la clase GeneradorDatosINE quien es la que te proporcionará los métodos de utilidad tales como:
No hay comentarios:
Publicar un comentario