Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class fecha {
- private int año;
- private int mes;
- private int dia;
- private int hora;
- private int maxdia;
- private int tiposuma;
- private int sumahora;
- private int sumadias;
- private int sumaaños;
- private int sumameses;
- boolean verificacion = true;
- public fecha(int año, int mes, int dia, int hora) {
- if((año>0)) {
- this.año = año;
- this.mes = mes;
- verificacion();
- if((verificacion = true && ((dia>0) && dia<=maxdia)) && ((hora<24) && (hora >= 0) )) {
- this.dia = dia;
- this.hora = hora;
- } else {
- System.out.println("La cantidad de dias es invalida o la hora es incorrecta");
- }
- }
- }
- public void verificacion() {
- int contadormes = 0;
- if(mes>12) {
- contadormes = mes / 12;
- mes = mes-(12*contadormes);
- this.año = año + (1*contadormes);
- }
- switch (mes) {
- case 1: maxdia = 31; break;
- case 2:
- if(año%4 == 0) {
- maxdia = 29;
- } else {
- maxdia = 28;
- }
- break;
- case 3: maxdia = 31; break;
- case 4: maxdia = 30; break;
- case 5: maxdia = 31; break;
- case 6: maxdia = 30; break;
- case 7: maxdia = 31; break;
- case 8: maxdia = 31; break;
- case 9: maxdia = 30; break;
- case 10: maxdia = 31; break;
- case 11: maxdia = 30; break;
- case 12: maxdia = 31; break;
- default:
- System.out.println("La cantidad de meses es inválida");
- verificacion = false;
- break;
- }
- }
- public fecha sumatodo(int sumahora) {
- fecha resultado;
- int tiposuma = 1;
- int resulhora = 0;
- int sumadias = 0;
- int sumameses = 0;
- int sumaaños = 0;
- int resulaños = this.año;
- int resulmeses = this.mes;
- int resuldias = this.dia;
- switch (tiposuma) {
- case 1:
- while(((sumahora+this.hora)/24)>=1) {
- resuldias = resuldias + ((sumahora+this.hora)/24);
- if((sumahora+this.hora)>=24) {
- sumahora = (sumahora+this.hora) - 24;
- }
- }
- resulhora = sumahora;
- case 2:
- while(((sumadias+this.dia)>=maxdia)) {
- resulmeses = resulmeses + ((sumadias+this.dia)/maxdia);
- verificacion();
- if((sumadias+this.dia)>=maxdia) {
- sumadias = (sumadias+this.dia) - maxdia;
- }
- resuldias = sumadias;
- }
- case 3:
- while((sumameses+this.mes)>12) {
- sumaaños = sumaaños + (((sumameses+this.mes))/12);
- }
- if((sumameses+this.mes)>12) {
- sumameses = (sumameses+this.mes) - 12;
- }
- resulmeses = sumameses;
- case 4:
- resulaños = resulaños + sumaaños;
- break;
- }
- resultado = new fecha(resulaños, resulmeses, resuldias, resulhora);
- return resultado;
- }
- public String toString() {
- return new String(this.año + "/" + this.mes + "/" + this.dia + " " + this.hora +":00");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement