Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. public class fecha {
  2. private int año;
  3. private int mes;
  4. private int dia;
  5. private int hora;
  6. private int maxdia;
  7. private int tiposuma;
  8. private int sumahora;
  9. private int sumadias;
  10. private int sumaaños;
  11. private int sumameses;
  12. boolean verificacion = true;
  13. public fecha(int año, int mes, int dia, int hora) {
  14. if((año>0)) {
  15. this.año = año;
  16. this.mes = mes;
  17. verificacion();
  18. if((verificacion = true && ((dia>0) && dia<=maxdia)) && ((hora<24) && (hora >= 0) )) {
  19. this.dia = dia;
  20. this.hora = hora;
  21. } else {
  22. System.out.println("La cantidad de dias es invalida o la hora es incorrecta");
  23. }
  24. }
  25. }
  26. public void verificacion() {
  27. int contadormes = 0;
  28. if(mes>12) {
  29. contadormes = mes / 12;
  30. mes = mes-(12*contadormes);
  31. this.año = año + (1*contadormes);
  32. }
  33. switch (mes) {
  34. case 1: maxdia = 31; break;
  35. case 2:
  36. if(año%4 == 0) {
  37. maxdia = 29;
  38. } else {
  39. maxdia = 28;
  40. }
  41. break;
  42. case 3: maxdia = 31; break;
  43. case 4: maxdia = 30; break;
  44. case 5: maxdia = 31; break;
  45. case 6: maxdia = 30; break;
  46. case 7: maxdia = 31; break;
  47. case 8: maxdia = 31; break;
  48. case 9: maxdia = 30; break;
  49. case 10: maxdia = 31; break;
  50. case 11: maxdia = 30; break;
  51. case 12: maxdia = 31; break;
  52. default:
  53. System.out.println("La cantidad de meses es inválida");
  54. verificacion = false;
  55. break;
  56. }
  57. }
  58. public fecha sumatodo(int sumahora) {
  59. fecha resultado;
  60. int tiposuma = 1;
  61. int resulhora = 0;
  62. int sumadias = 0;
  63. int sumameses = 0;
  64. int sumaaños = 0;
  65. int resulaños = this.año;
  66. int resulmeses = this.mes;
  67. int resuldias = this.dia;
  68. switch (tiposuma) {
  69. case 1:
  70. while(((sumahora+this.hora)/24)>=1) {
  71. resuldias = resuldias + ((sumahora+this.hora)/24);
  72. if((sumahora+this.hora)>=24) {
  73. sumahora = (sumahora+this.hora) - 24;
  74. }
  75. }
  76. resulhora = sumahora;
  77. case 2:
  78. while(((sumadias+this.dia)>=maxdia)) {
  79. resulmeses = resulmeses + ((sumadias+this.dia)/maxdia);
  80. verificacion();
  81. if((sumadias+this.dia)>=maxdia) {
  82. sumadias = (sumadias+this.dia) - maxdia;
  83. }
  84. resuldias = sumadias;
  85. }
  86. case 3:
  87. while((sumameses+this.mes)>12) {
  88. sumaaños = sumaaños + (((sumameses+this.mes))/12);
  89. }
  90. if((sumameses+this.mes)>12) {
  91. sumameses = (sumameses+this.mes) - 12;
  92. }
  93. resulmeses = sumameses;
  94. case 4:
  95. resulaños = resulaños + sumaaños;
  96. break;
  97. }
  98. resultado = new fecha(resulaños, resulmeses, resuldias, resulhora);
  99. return resultado;
  100. }
  101. public String toString() {
  102. return new String(this.año + "/" + this.mes + "/" + this.dia + " " + this.hora +":00");
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement