Este blog está dedicado a la recolección de información relacionada con las nuevas tecnologías ( tecnoloxía xa), especialmente, con las vinculadas a la informática.
La idea es centralizar y compartir la información y cada manual o tutorial que voy recolectando para las clases tanto de administración de sistemas como de explotación de sistemas informáticos de modo que estén disponibles para alumnos y resto de interesados. (IES A Carballeira, Ourense)
Páginas
▼
lunes, 10 de febrero de 2014
Unidad 3: Ejercicio 7
/*
*
* 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;
}
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;
}
}
/**
*
* @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
Muchas gracias por tu comentario, sed respetuosos con los demás.
gracias