Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] Problema variabili e relativo aggiornamento

    Salve a tutti!

    Ho un piccolo problema con una variabile.
    In pratica vorrei che ad ogni click di un pulsante si aggiornasse sottraendo il numero indicato dal numero precedente.
    Ho provato a pensarla così, ma non funziona

    codice:
     if(num2 == 5) {
                int a = 3000;
                int b = 35;
                 a = a - b;
                Label1.setText(Integer.toString(a));
     }
    In pratica parto da 3000 (a) e ad ogni click tolgo quella quantita' (b).
    Funziona al primo click, poi non piu'.
    Dov'è che sbaglio?

    Grazie,
    saluti!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Se dichiari la variabile dentro al corpo del if, la variabile viene buttata via appena finisce il corpo.
    Si chiama "scope" delle variabili. Una variabile ha un suo "scope", cioè è visibile e vive solo all'interno del "corpo" in cui è dichiarata.

    Devi dichiarare e inizializzare la variabile "al di fuori" del corpo del if (fuori dalle parentesi graffe del if). Di più: se devi "decrementare" ad ogni clic, immagino che ci sia un pulsante... quindi un ActionListener... quindi la variabile deve essere dichiarata in un posto che sia raggiungibile in qualche modo dal ActionListener (ad esempio, dovresti dichiararla come campo della classe, se la stessa classe funge anche da ActionListener).


    PS: perchè cominciare a programmare GUI (interfaccie grafiche) prima di avere ben chiari i concetti basilari della programmazione (in generale, programmazione con qualunque linguaggio): lo scope delle variabili è una cosa importantissima per qualunque linguaggio di programmazione e per qualunque tipologia di programma... dai piccoli programmini testuali alle GUI.


    Ciao.
    "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

  3. #3
    Ciao!
    Avevo letto su internet circa lo scope delle variabili, ma non ci avevo capito granchè. Ora mi hai chiarito molti dubbi, ti ringrazio!

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