AIuto Java programma che controlla la validità delle date

di il
1 risposte

AIuto Java programma che controlla la validità delle date

Aiuto in programmazione Java

Devo creare un programma che:
- acquisisca in input da tastiera tre valori numerici interi (utilizzando l’oggetto Scanner), senza curarsi del fatto che l’utente potrebbe inserire dati non numerici facendo fallire l’esecuzione;

- emetta un verdetto rispetto alla validità espressa da una data di cui i tre valori rappresentano anno, mese e giorno (data valida oppure data non valida).

Il programma dovrà contenere un metodo validDate() che, ricevuti come parametri i tre valori, restituisce il valore boolean true o false a seconda dei casi.

Il controllo di validità dovrebbe tenere conto di:

- anno che può andare da 1900 a 2100 (estremi compresi);

- mese che può andare da 1 a 12 (estremi compresi);

- giorno che può andare da 1 a X (estremi compresi), dove X è il numero di giorni del mese (il punteggio massimo verrà ottenuto se si terrà in considerazione anche il fatto che l’anno sia bisestile o meno).

Io ho questa base da un esercizio fatto in precedenza su altre cose ma non so come procedere, i meglio, ho alcuni dubbi e mi servirebbe una mano da qualcuno di più esperto .

//inizio esercizio

import java.util.Scanner;

class Main {
public static void main(String[] args) {
System.out.println("Come ti chiami?");

String name;

Scanner s = new Scanner(System.in);

name = s.nextLine();
System.out.println("Ciao, " + name);

System.out.println("Quante righe vuoi?");

int n;

n = Integer.parseInt(s.nextLine());

System.out.println("So che vuoi questo numero di righe: " + n);

}
}

//fine esercizio

C’è qualcuno che mi aiuta? Grazie in anticipo!

1 Risposte

  • Re: AIuto Java programma che controlla la validità delle date

    Intanto, la lettura da tastiera e' L'ULTIMA COSA da fare.

    Anzi, punirei severamente, con sane frustate mediante frusta in saggina, chiunque insista imperterrito ad utilizzare questo approccio

    Inizia con delle date di cui sai ESATTAMENTE le caratteristice (valida, non valida, il 29 febbraio di un anno bisestile, ...)

    Tipo:
    
    class Main {
        public static void main(String[] args) {
              if(!isDataValida(33, 13, 3333))
                  System.out.println("Sono un pirla perche' mi faccio fare gli esercizi dagli altri!");
        }
        ...
        private static boolean isDataValida(int girono, int mese, int anno) {
           ...
        }
    }
    

    e poi vai avati da li

    Per gli anni bisestili:

    https://it.wikipedia.org/wiki/Anno_bisestil


    Nota: se non sai NEMMENO impostare la parte PIU' semplice del codice, valuta seriamente se la programmazione fa per te.
    Ci sono un sacco di altri lavori interessanti.
    Ad esempio lavare i vetri dei palazzi a vetri
Devi accedere o registrarti per scrivere nel forum
1 risposte