-
Notifications
You must be signed in to change notification settings - Fork 0
/
projectCalendarioProgra1_V1.2
102 lines (82 loc) · 3.25 KB
/
projectCalendarioProgra1_V1.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
*/
package com.mycompany.connection;
/**
*
* @author leonj
*/
public class proyectoAñoBiciesto {
public static void imprimeMes(String nombreMes,int iniDiaMes, int tDiaMes){
int dia = 0;
System.out.println(nombreMes);
System.out.println("Do\tLu\tMa\tMi\tJu\tVi\tSa");
for(int c=1; c<=42; c++){
if(c>iniDiaMes && dia<tDiaMes){
dia = dia +1;
System.out.print(dia + "\t");}
else
System.out.print(" " + "\t");
if(c%7 == 0) System.out.println("");
}
System.out.println(" ");
}
public static void anioBiciesto(int elec){
int anio = elec;
if(anio % 4 == 0){
if(anio % 100 == 0){
if(anio % 400 == 0){
System.out.println("Anio Biciesto");
}else{
System.out.println("No es biciesto");
}
}else{
System.out.println("Anio biciesto");
}
}else{
System.out.println("No es biciesto");
}
}
public static int numDiasDelAnio(int dias, int mes){
int totalDias = 0;
if(dias <= 31){
int diasDelMes[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
for(int i= 1; i<= mes - 1;i++ )
totalDias = totalDias + diasDelMes[i];
return totalDias + dias;
}
else return 0;
}
public static int diasEntreDosFechas(int dias1, int mes1, int dias2, int mes2){
int diasEntreDosFechas = 0;
if(dias1 <= 31 && dias2<=31)
diasEntreDosFechas = numDiasDelAnio(dias1, mes1) - numDiasDelAnio(dias2, mes2);
return diasEntreDosFechas;
}
public static void main(String[] arg){
String mes[] = {"","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio"
,"Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
int ds[] = {0,0,3,3,6,1,4,6,2,5,0,3,5};
int dm[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
for(int k=1; k<13; k++)
imprimeMes(mes[k],ds[k],dm[k]);
System.out.println(numDiasDelAnio(32,12));
System.out.println(numDiasDelAnio(31,1));
System.out.println("Han pasado " + diasEntreDosFechas(31,1,31,12) + " Dias");
}
}
/**
* **NOTA: Valido para el cal1 nada mas**
* 2) lo utilizamos para que nuestros dias empiezen en la casilla 3
* 1) lo usamos para imprimir los saltos de linea
* para crear las casillas del calendario
* 3) lo usamos para que el sistema haga un salto de linea y se
* creen las filas y que no lo imprima como una sola fila
*
**NOTA2 el cal2 es el mismo solo que retomado desde cero**
* aplicamos la regla de negocio que el calendario debe iniciar en el dia de la
* semana 5, en este caso viernes, lo logramos creando una variable que contenga
* el valor numerico del dia y le decimos que la casilla sume 1 si la casilla es
* menor que la var iniDiames que le sume 1, detemos la iteracion diciendole
* que si dia es menor que el tDiaMes no siga imprimiendo
*/