Código de Java - Calendario anual

Imágen de perfil
Val: 686
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Calendario anualgráfica de visualizaciones


Java

Publicado el 9 de Agosto del 2016 por Xve (294 códigos)
27.245 visualizaciones desde el 9 de Agosto del 2016
Esta clase muestra el calendario del año que desees con la cantidad de meses por fila

calendario-java

Versión 1
estrellaestrellaestrellaestrellaestrella(7)

Publicado el 9 de Agosto del 2016gráfica de visualizaciones de la versión: Versión 1
27.246 visualizaciones desde el 9 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

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
import java.text.*;
import java.util.*;
 
public class Calendario {
 
    public static void main(String[] args) {
        printCalendar(2016, 4);
    }
 
    static void printCalendar(int year, int nCols) {
        if (nCols < 1 || nCols > 12)
            throw new IllegalArgumentException("Numero de columnas incorrecto!!");
 
        Calendar date = new GregorianCalendar(year, 0, 1);
 
        int nRows = (int) Math.ceil(12.0 / nCols);
        int offs = date.get(Calendar.DAY_OF_WEEK) - 2;
        int w = nCols * 24;
 
        String[] monthNames = {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
 
        String[][] mons = new String[12][8];
        for (int m = 0; m < 12; m++) {
 
            String name = monthNames[m];
            int len = 11 + name.length() / 2;
            String format = MessageFormat.format("%{0}s%{1}s", len, 21 - len);
 
            mons[m][0] = String.format(format, name, "");
            mons[m][1] = " Lu Ma Mi Ju Vi Sa Do";
            int dim = date.getActualMaximum(Calendar.DAY_OF_MONTH);
 
            for (int d = 1; d < 43; d++) {
                boolean isDay = d > offs && d <= offs + dim;
                String entry = isDay ? String.format(" %2s", d - offs) : "   ";
                if (d % 7 == 1)
                    mons[m][2 + (d - 1) / 7] = entry;
                else
                    mons[m][2 + (d - 1) / 7] += entry;
            }
            offs = (offs + dim) % 7;
            date.add(Calendar.MONTH, 1);
        }
 
        System.out.printf("%" + (w / 2 + 10) + "s%n", "[[ Calendario ]]");
        System.out.printf("%" + (w / 2 + 4) + "s%n%n", year);
 
        for (int r = 0; r < nRows; r++) {
            for (int i = 0; i < 8; i++) {
                for (int c = r * nCols; c < (r + 1) * nCols && c < 12; c++)
                    System.out.printf("   %s", mons[c][i]);
                System.out.println();
            }
            System.out.println();
        }
    }
}



Comentarios sobre la versión: Versión 1 (7)

Helmer Enrique
15 de Septiembre del 2017
estrellaestrellaestrellaestrellaestrella
excelente
Responder
Mauro
3 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
Solo te muestra el calendario del 2016
Responder
Imágen de perfil
3 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
Modifica la llamada a la función y pon el año y mes que quieras... modifica esta linea...
printCalendar(2017, 10);
Responder
Humberto
10 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
Porque 2017, 10?
Responder
joaquin
26 de Octubre del 2017
estrellaestrellaestrellaestrellaestrella
oye y ese programa puedes modificarlo para que se vea pueda
ver calendario comp. y tambien tenga la opcion de pedir el mes te lo agradeceria mucho
Responder
Gustavo Angel
29 de Noviembre del 2017
estrellaestrellaestrellaestrellaestrella
Thanks!!!
Responder
Jorge
24 de Junio del 2020
estrellaestrellaestrellaestrellaestrella
Genial!
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3623