Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quote Originariamente inviata da rossonero922 Visualizza il messaggio
    la base è buona?cioè pur essendo che mi frega risorse,è un programma che funzionerà questo?
    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.
    Ultima modifica di LeleFT; 07-01-2014 a 17:43
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  2. #2
    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?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.