[Java] Problemi con GregorianCalendar e IllegalArgumentException

fpertegato

Nuovo Utente
26 Lug 2010
16
12
0
Vicenza
Ciao a tutti! :)
Sto provando a scrivere il codice per un'applicazione che "maneggi" le date, quindi sto impostando un JButton che, attraverso la pressione su di esso, controlli la veridicità di una data.
Posto solo il codice relativo a questo JButton per brevità:
Codice:
    class Receiver3 implements ActionListener {
	public void actionPerformed(ActionEvent e) {

//	Inizializzazione interi
	int giorno = 0;
	int mese = 0;
	int anno = 0;

        GregorianCalendar cal = new GregorianCalendar (anno, mese-1, giorno);
        cal.setLenient (false);

	String SGiorno = ggStart.getText ();
	String SMese = mmStart.getText ();
	String SAnno = yyStart.getText ();

//Parsing:
	giorno=Integer.parseInt(SGiorno);
	mese=Integer.parseInt(SMese);
	anno=Integer.parseInt(SAnno);

//Le stringhe sono oggetti "immutabili". Non esiste un metodo setText()
// né esiste un qualche altro metodo che modifica lo stato dell'oggetto String.
//	String inDate = giorno + "/" + mese + "/" + anno;
        try {
	cal.get (Calendar.DATE);
	      testoOutput.setText("Data corretta.");

	} catch (IllegalArgumentException e) {
	      testoOutput.setText("Data errata.");
	}
Il problema sta nel fatto che in compilazione la risposta è:

myCalendar8.java:199: e is already defined in actionPerformed(java.awt.event.ActionEvent)
} catch (IllegalArgumentException e) {
^
1 error
e non riesco a capire che errore sia...magari è anche banale, ma essendo giovane il mio approcio con java non è così semplice...
 
  • Like
Reactions: ottofonsuppost

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Il problema è dovuto ai parametri che passi al metodo costruttore del GregorianCalendar. In pratica passi come parametri anno, mese e giorno dei valori inconsistenti. Per risolvere il problema devi passare valori congruenti (non esiste un giorno 0) oppure devi impostare il setLenient() a true. Così facendo Java reinterpreta i valori passati, in pratica passandogli 0 come giorno lui lo considera il giorno precedente al primo del mese, per cui il 30 del mese precedente e così anche per mese ed anno.
 
  • Like
Reactions: ottofonsuppost

fpertegato

Nuovo Utente
26 Lug 2010
16
12
0
Vicenza
Oooook, grazie...ora, dopo tante peripezie ci sono arrivato!! :cool:
Posto qui sotto il codice corretto per chi potesse averne bisogno:
Codice:
    // la classe che definisce il ricevitore di eventi usato 
    // dal bottone Controllo data:
    class Receiver3 implements ActionListener {
	public void actionPerformed(ActionEvent e) {

	String SGiorno = ggStart.getText ();
	String SMese = mmStart.getText ();
	String SAnno = yyStart.getText ();

//Parsing:

	int day=Integer.parseInt(SGiorno);
	int month=Integer.parseInt(SMese);
	int year=Integer.parseInt(SAnno);

        GregorianCalendar cal = new GregorianCalendar (year, month-1, day);
        cal.setLenient (false);

//Le stringhe sono oggetti "immutabili". Non esiste un metodo setText()
// né esiste un qualche altro metodo che modifica lo stato dell'oggetto String.

        try {
	cal.get (Calendar.DATE);
	      testoOutput.setText(day +"/"+ month +"/"+ year + ": data corretta.");

	} catch (IllegalArgumentException i) {
	      testoOutput.setText(day +"/"+ month +"/"+ year + ": data errata.");
	}
      }
    }
grazie mille!!!!!:fonzie:
 
  • Like
Reactions: ottofonsuppost
Discussioni simili
Autore Titolo Forum Risposte Data
F [JAVA] Problemi con GridBagLayout e AddActionListener Java 4
F [JAVA] Ancora problemi con il GregorianCalendar... Java 16
E Java, Jdbc E Librerie: Problemi Nella Creazione Di Jar Java 0
L java api_google Javascript 0
F NetBeans problema creazione progetto Java Windows e Software 0
Z [java] bufferizzare stream audio da mic Java 1
L java + Api di google Javascript 1
A [Cerchiamo] [Retribuito/a] "Java Solution Architect" Offerte e Richieste di Lavoro e/o Collaborazione 1
F Script java elenco alfabetico non funziona Javascript 3
C Serializzazione in java Java 1
M AIUTO ESERCIZIO JAVA Javascript 1
M Ripasso Java Offerte e Richieste di Lavoro e/o Collaborazione 0
F [OFFRO - RETRIBUITO] Sviluppatori JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
L leggere RGB di un pixel dello schermo in java Java 1
I Creazione programmino JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
F Aiuto java script Javascript 2
T [Java] tipi generici con esempio pratico Java 1
J File audio in java Java 0
V [JAVA] come integrare un software scritto in java su una pagina web? Java 4
C Java client / server Java 0
F [OFFRO][RETRIBUITO] PROGRAMMATORE JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
C [Java] testare un metodo con Junit Java 1
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
S [OFFRO] Debug delle tue applicazioni Java Offerte e Richieste di Lavoro e/o Collaborazione 1
L [Java] Aggiungere elementi ad array JSON Java 0
B [Java] Paginazione in risposta HTTP Java 0
A [Java]Date diminuite di un giorno su db MySQL Java 0
K [Java] aiuto switch case Java 1
P [Java] limite destro di un JFrame Java 5
D [Java] far partire JProgressBar all'apertura di un JFrame Java 1
N [java con eclipse]metodo ricorsivo che accetta in ingresso un char e restituisce un int Java 0
A Verifica validità data in Java Java 2
L [Java] Errore json conversione Java 0
Drago73 [Java] leggere/scrivere txt server Java 0
M [Javascript] Java card Java 0
serena.cerutti posizioni aperte: PhP, Java, .Net Offerte e Richieste di Lavoro e/o Collaborazione 0
N [Java]problema jasper report dopo compilazione file .jar Java 0
N [Java] Piccolo jform per calcolo totale da 2 campi i double Java 0
N [Java] jbutton con funzioni Java 2
M [java] esercizio lunghezza array di stringhe Java 0
A [java] problema esercizio Java 0
filograndipad2 Esempi chiari e completi sul funzionamento degli eventi in Java Java 1
Raziel84 [Java] Combinazione elementi matrice Java 0
A [java] problema esercizio array Java 5
L da php a popup java PHP 2
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
S Cerco programmatore java Offerte e Richieste di Lavoro e/o Collaborazione 0
Z [Java] Grassetto assente su font incorporato nel pacchetto jar Java 0
O [Java] Lettura da JSON File Java 0
Z [Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing Java 0

Discussioni simili