Quote Originariamente inviata da LeleFT Visualizza il messaggio
No, per alcuni motivi:

1) Fai uso di API deprecate: getHours() e getMinutes() della classe Date sono state deprecate tanti, ma tanti anni fa (ma questo non è un problema: Java te lo permette lo stesso).

2) La logica non è corretta: se sono le 16:37 e avvio il programma chiedendo di spegnere il PC alle 16:50, il programma fa spegnere il PC immediatamente... perchè la condizione del while risulta subito falsa:

codice:
while(ora!=t.getHours()&&minuti!=t.getMinutes())

Perchè sia vera tale condizione (e, quindi, il programma continui ad attendere l'ora corretta), entrambi i membri del AND logico devono essere veri: ora, sono le 16:37 e voglio che si spenga alle 16:50, quindi:

codice:
(ora != t.getHours()) --> FALSE

Questo significa che:

1) Se l'ora è la stessa (vedi esempio), il PC si spegne subito perchè esce subito dal while: e sto guiardando solo l'ORA, i minuti non mi interessano nemmeno.

2) Se l'ora è diversa, si spegnerà appena scatta l'ora giusta e minuti 00, oppure appena i minuti sono quelli che sto aspettando, fregandomene dell'ora, per lo stesso motivo


Ciao.
mmm questa volta non mi trovo con te...ora può esser che sbaglio io....se dico che deve spegnersi alle 16e50 e ora sono le 16e37 il while cicla fino a che non arrivano le 16e50 se non erro:
fino a che quello che ho inserito è diverso dall ora corrente cicla!, quando si verifica l uguaglianza,ossia la condizione diventa falsa,quindi minuti=minuticorrenti e ora è uguale a ora corrente,esci dal while...o sbaglio?
comunque tralasciando queste minuzie di cui a runtime mi accorgerei di sicuro, come base del programma questa è buona?