Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Dopo più di un anno dal primo test drive ci siamo rimessi al volante della Renault 5 E-Tech Electric, questa volta utilizzandola come prima auto per circa due settimane. Scoprite con noi se il progetto convince ancora
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2008, 19:00   #1
snowboard_extr3me
Junior Member
 
Iscritto dal: Jan 2008
Messaggi: 4
[Java]Calcolo delle date;

Ciao ragazzi! devo fare una agenda e cercare di fare in modo che possa fissare degli appuntamenti,per fissare l'appuntamento devo dare da tastiere anno mese giorno minuti ore e secondi.
però devo controllare che la posizione nel tempo sia successiva all'istante attuale E che la data prescelta per l'appuntamento sia corretta,per esempio nn posso fissare un appuntamento per il 29 febbraio 2009 ma per il 29 febbraio 2012si.ho creato 2 classi,la prima funziona egregiamente e prende il tempo dal locale,la seconda è fatta da 6 metodi e dovrebbero fare in modo che controllino i parametri passati e modifichino cosi gli attributi.
di questi 6 metodi solo l'ultimo(secondi) ha anche il controllo della posteriorità nel tempo rispetto all'istante attuale,però sembra non funzionare.
copio e incollo qui le 3 classi,iltempi,ladata e bisestile che mi controlla se l'anno è bisestile.
import java.util.*;
-------------------------------------------------------------------
public class ILTEMPO{
int anno;
int mese;
int giorno;
int ore;
int minuti;
int secondi;

public void tempo(){

Calendar calendario = new GregorianCalendar();



giorno = calendario.get(Calendar.DAY_OF_MONTH);
mese = calendario.get(Calendar.MONTH);
anno = calendario.get(Calendar.YEAR);
ore = calendario.get(Calendar.HOUR);
minuti = calendario.get(Calendar.MINUTE);
secondi = calendario.get(Calendar.SECOND);

}

public void cheoresono(){
System.out.println("Sono le : " + ore + ":" + minuti + ":" + secondi + " " + " Data "+ giorno +":" + (mese+1) +":" + anno);
}




}
-------------------------------------------------------------------------
/*Scrivere un programma che,dato il numero AA rappresentante un anno,verifichi se questo è bisestile.*/

/*L’anno bisestile è l’anno durante il quale viene aggiunto un giorno extra nel mese di Febbraio.
L’anno bisestile è ogni anno che sia divisibile per 400 o divisibile per 4 ma non divisibile per 100.
Ad esempio, l’anno 1996 è un anno bisestile in quanto divisibile per 4 ma non divisibile per 100.
Il 1700, il 1800, il 1900 non sono bisestili, mentre il 1600 e il 2000 sono anni bisestili in quanto divisibili per 400.*/


public class Bisestile {



public static boolean bisestile(int anno){
boolean b=false;
if(anno%400==0){System.out.print(anno+"-----> L'anno è bisestile");
b=true; }

else if(((anno%4)==0)&((anno%100)!=0))
{System.out.print(anno+"-----> L'anno è bisestile");
b=true; }
else if(((anno%4)==0)&((anno%100)==0))
{System.out.print(anno+"-----> L'anno non è bisestile");
b=false; }
return b;
}


}
--------------------------------------------------------------------------

public class ladata {
/*private String gennaio=new String("gennaio");
private String febbraio=new String("febbraio");
private String marzo=new String("marzo");
private String aprile=new String("aprile");
private String maggio=new String("maggio");
private String giugno=new String("giugno");
private String luglio=new String("luglio");
private String agosto=new String("agosto");
private String settembre=new String("settembre");
private String ottobre=new String("ottobre");
private String novembre=new String("novembre");
private String dicembre=new String("dicembre");*/

private int anno;
private int mese;
private int giorno;
private int ore;
private int minuti;
private int secondi;




public void anno(){
int a;
do{
System.out.println("Inserisci l'anno");
Numero n=new Numero();
a=n.leggiNumero();
}
while(!(2007<a&&a<2100));
anno=a;
}

public void mese(){
int a;
do{ System.out.println("Inserisci il mese:da 1(gennaio) a 12 (dicembre)");
Numero n=new Numero();
a=n.leggiNumero();

}
while(!(0<a&&a<13));
mese=a;
}

public void giorno(){
int a;
System.out.println("Inserisci il giorno:da 1 a 31 massimo");
if(mese==1){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==2&&Bisestile.bisestile(anno)){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<30));giorno=a;}
if(mese==2&&!(Bisestile.bisestile(anno))){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<29));giorno=a;}
if(mese==3){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==4){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<31));giorno=a;}
if(mese==5){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==6){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<31));giorno=a;}
if(mese==7){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==8){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==9){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<31));giorno=a;}
if(mese==10){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}
if(mese==11){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<31));giorno=a;}
if(mese==12){do{Numero n=new Numero();
a=n.leggiNumero();}while(!(0<a&&a<32));giorno=a;}

}

public void ore(){
int a;
do{ System.out.println("Inserisci l'ora,dalle 0 alle 23");
Numero n=new Numero();
a=n.leggiNumero();

}
while(!(0<=a&&a<24));
ore=a;
}
public void minuti(){
int a;

do{ System.out.println("Inserisci il minuto ,dalle 0 alle 59");
Numero n=new Numero();
a=n.leggiNumero();

}
while(!(0<=a&&a<60));
minuti=a;
}




public void secondi(){
int a;
ILTEMPO iltempo=new ILTEMPO();
iltempo.tempo();
if(iltempo.anno<=this.anno){if(iltempo.mese<=this.mese){if(iltempo.giorno<=this.giorno){if(iltempo.ore<=this.ore){if(iltempo.minuti<=this.minuti){if(iltempo.secondi<=this.secondi){
do{ System.out.println("Inserisci i secondi,da 1 a 59");
Numero n=new Numero();
a=n.leggiNumero();
}
while(!(0<=a&&a<60));
secondi=a;
}else secondi();}else secondi();}else secondi();}else secondi();}else secondi();}else secondi();

}

}
snowboard_extr3me è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 19:14   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2793
Usa il tag code per postare il codice, in questo modo mantieni l'indentazione ed è tutto più leggibile.
Ho dato giusto un'occhiata, il codice mi sembra un po' troppo confusionario, oltretutto non c'è neanche un commento.
Penso che tu abbia complicato le cose, prova a guardare questo metodo:

Calendar - after
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
TSMC accelera sui 1,4 nanometri: produzi...
Razer compra StreamElements: cambia tutt...
Il Task Manager di Windows arriva su Mac...
Sony: PS5 resta più conveniente d...
Ubisoft spegne uno dei suoi esperimenti ...
Garante Privacy: multa da 9,5 milioni di...
Windows 11, Microsoft promette un sistem...
Windows 11, l'ultima build sperimentale ...
YouTube cancella i canali ASMR più...
Valgono miliardi, ma non pubblicano rice...
ROG Falchion Ace 75 HE: ASUS fa sul seri...
Google rilascia il primo teaser dei Pixe...
Attenti a queste TV Box: a TV spento si ...
Radeon RX 9050: arriva il primo confront...
L'AI Act più severo slitta al 202...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v