Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86

    Java Calendario Gregoriano

    Ciao ragazzi sto cercando di fare un calendario gregoriano che avendo gia' in input la data attuale , inserendo un certo numero di giorni X mi dia come output il valore del mese, giorno anno della data futura! cioè se oggi è 30 10 2006 e inserisco il valore 15 mi debba restiturire la data 15 11 2006... ho implementato il codice ma quando do un valore maggiore di 31 dalla data attuale il programma salta il mese di dicembre e mi da direttamente gennaio 2007 ovvero se dalla data attuale metto : il valore 32 ( cioè aggiungi 32 giorni al giorno attuale ) mi restituisce 1 - 0 - 2007 ... non riesco a capire xkè salti il mese di dicembre.. qualche aiuto?????


    //IMPORTO CIO' CHE MI SERVE
    import java.util.GregorianCalendar;
    import java.util.Calendar;
    import javax.swing.JOptionPane;
    import java.util.Scanner;
    public class gregoriano
    {
    public static void main (String[] args)
    {
    //IMPOSTO I VALORI DEI CAMPI
    int giorno = 30;
    int mese = 10;
    int anno = 2006;

    //I VALORI DEL CALENDARIO ATTUALE SONO IMPOSTATI CON LE VARIABILI SOPRA INDICATE
    GregorianCalendar calendarioAttuale = new GregorianCalendar(anno, mese, giorno);
    //IL CALENDARIO CHE VERRA' MODIFICATO INIZIALMENTE HA GLI STESSI VALORI DEL CALENDARIO ATTUALE
    GregorianCalendar calendarioModificato = new GregorianCalendar(anno, mese, giorno);

    //COSTRUISCO L'OGGETTO SCANNER
    Scanner in = new Scanner(System.in);
    //DEVO INSERIRE I GIORNI CHE ANDRANNO A MODIFICARE IL "calendarioModificato"
    System.out.println("Inserisci la data che verrà modificata");
    //NELLA VARIABILE GIORNO DA MODIFICARE VADO A INSERIRE IL GIORNO MODIFICATO
    int giornoDAmodificare = in.nextInt();
    //IL GIORNO MODIFICATO LO VADO AD INSERIRE IN UN ALTRA VARIABILE
    int nuovogiorno = giornoDAmodificare;
    //AGGIORNO IL CALENDARIO CON IL NUOVO GIORNO.
    calendarioModificato.add(Calendar.DAY_OF_MONTH, nuovogiorno);

    //STAMPO LA DATA DEL NUOVO GIORNO DA ME SCELTO.
    int dayOFmonth = calendarioModificato.get(Calendar.DAY_OF_MONTH);
    System.out.println(dayOFmonth);
    int month = calendarioModificato.get(Calendar.MONTH);
    System.out.println(month);
    int years = calendarioModificato.get(Calendar.YEAR);
    System.out.println(years);


    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    PErché i mesi vanno da 0 a 11, quindi mese 10 = novembre e se aggiungi 32 giorni al 30 novembre ti trovi al primo gennaio.

    Comunque c'è un forum apposito per java
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86
    Madoooooooo che scemoooo!!! convintissimoo che partissero da 1!!! madooo finalmente.. grazie andrea! per avermi aperto gli okki su un errore cosi banale!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bhè, non fartene un cruccio... qualche genio alla nasa schiantò una sonda da qualche decina di milioni di dollari perché i conti li fanno in yard e pollici... tu che danno hai fatto?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86
    heheheeh è vero.. cmq il danno di aver perso tempo per una cosa cosi stupida... il tempo è denaro! non devo mai dare le cose per scontate altrimenti mi ingrippo sulle cose banali!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    86
    andrea mi sapresti dire se la classe GregorianCalendar di java conta anche gli anni bisestili?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Sì, fa tutto, il che vuol dire che ci sono altre regolette che nessuno si ricorda (per esempio i secoli non divisibili per 400 non sono bisestili). Trovi tutti i casi qui

    http://it.wikipedia.org/wiki/Calendario_gregoriano

    sotto regole.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.