/*
*
* 7. Dada la clase Fecha, hacer un programa en el que se declare un vector de
*
* 10 objetos de tipo Fecha (este vector almacenaría 10 fechas).
* A la hora de crear el vector, todos sus elementos tienen que tener la fecha
* (1 de Abril de 2011).
* Asignarle a continuación a todas las fechas,
* valores generados de manera aleatoria. Por simplificar, todos los meses son
* de 30 días, y el año tiene que estar comprendido entre 2000 y 2008, ambos incluidos.
* Imprimir el contenido del vector, una vez generado, y una vez asignadas las nuevas fechas.
* Incrementar a continuación todas las fechas en 3 días, y volver a escribir el contenido del vector
* para comprobar que se hizo de manera correcta.
public class Fecha {
private int dia;
private int mes;
private int anyo;
public Fecha(int dia, int mes, int anyo) {
this.dia = dia;
this.mes = mes;
this.anyo = anyo;
}
public Fecha() {
dia = 1;
mes = 1;
anyo = 2013;
}
public void asignate(int dia, int mes, int anyo) {
this.dia = dia;
this.mes = mes;
this.anyo = anyo;
}
public int getDia() {
return dia;
}
public void setDia(int dia) {
this.dia = dia;
}
public int getMes() {
return mes;
}
public void setMes(int mes) {
this.mes = mes;
}
public int getAnyo() {
return anyo;
}
public void setAnyo(int anyo) {
this.anyo = anyo;
}
public void imprimete() {
System.out.println(dia + " - " + mesLetra() + " - " + anyo);
}
public void imprimete(int x) {
System.out.println(dia + " - " + mes + " - " + anyo);
}
private String mesLetra() {
String mesEnLetra = "";
switch (mes) {
case 1:
mesEnLetra = "Enero";
break;
case 2:
mesEnLetra = "Febrero";
break;
case 3:
mesEnLetra = "Marzo";
break;
case 4:
mesEnLetra = "Abril";
break;
case 5:
mesEnLetra = "Mayo";
break;
case 6:
mesEnLetra = "Junio";
break;
case 7:
mesEnLetra = "Julio";
break;
case 8:
mesEnLetra = "Agosto";
break;
case 9:
mesEnLetra = "Setiembre";
break;
case 10:
mesEnLetra = "Octubre";
break;
case 11:
mesEnLetra = "Noviembre";
break;
case 12:
mesEnLetra = "Diciembre";
break;
}
return mesEnLetra;
}
public void incrementate(int d) {
for (int i = 1; i <= d; i++) {
dia++;
switch (mes) {
case 1: // meses de 31 dias
case 3:
case 5:
case 7:
case 8:
case 10:
if (dia == 32) {
mes++;
dia = 1;
}
break;
case 12:
if (dia == 32) {
mes = 1;
dia = 1;
anyo++;
}
break;
case 4: // meses de 30 dias
case 6:
case 9:
case 11:
if (dia == 31) {
mes++;
dia = 1;
}
break;
case 2: // para anhos bisiestos
if (((anyo % 4 == 0) && (anyo % 100 != 0)) || (anyo % 400 == 0)) {
if (dia == 30) {
mes++;
dia = 1;
}
} else {
if (dia == 29) {
mes++;
dia = 1;
}
}
break;
}
}
}
public String getFecha() {
return dia + " - " + mesLetra() + " - " + anyo;
}
}
*/
package unidad3ejercicio7;
import java.util.Random;
/**
*
* @author Juan
*/
public class Unidad3Ejercicio7 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Fecha [] vectorFecha = new Fecha[10];
Random aleatorio = new Random();
for (int i = 0; i < vectorFecha.length; i++) {
vectorFecha[i]=new Fecha(1,4,2011);
}
for (int i = 0; i < vectorFecha.length; i++) {
vectorFecha[i].setDia(aleatorio.nextInt(30)+1);
vectorFecha[i].setMes(aleatorio.nextInt(12)+1);
vectorFecha[i].setAnyo(aleatorio.nextInt(9)+2000);
}
for (Fecha fecha : vectorFecha) {
fecha.imprimete();
}
System.out.println("Incrementamos en tres días");
for (int i = 0; i < vectorFecha.length; i++) {
vectorFecha[i].incrementate(3);
}
for (Fecha fecha : vectorFecha) {
fecha.imprimete();
}
}
}
No hay comentarios:
Publicar un comentario