Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6

    Scambio valori variabili switch

    Scusate il titolo della discussione, probabilmente non risulterà molto chiaro. Provo a spiegarmi meglio. Ho una classe che ha una variabile privata di tipo intero. Poi, in un metodo della stessa classe ho uno switch di un input con 2 case: in uno setto il valore della variabile intera, nell'altro vorrei poter leggere il valore settato dall'altro case, ma mi da sempre zero. Come mai?

    Provo a buttarlo in codice per farmi capire meglio:

    codice:
    public Class MiaClasse{
         private int numero;
    
         public void funzione(int scelta){
              switch(scelta){
                   case(0):
                        numero = 10;
                        break;
                   case(1):
                        System.out.println(numero);
                        break;
              {   
         }
    }
    Ora, io so per certo che il case(1) non viene considerato se non faccio prima il case(0). E se stampo il valore di "numero" dentro case (0) ottengo 10 come è giusto. Se successivamente stampo il valore di "numero" dentro case (1) (che viene scelto sempre dopo case(0)) ottengo 0 invece di 10. Mi sapete dire come risolvere? Mi serve per forza questa struttura.

    Ah, scusate, così sembra molto semplice e il valore che stampa è effettivamente 10, quindi metto qualche altra informazione. La "funzione" sarebbe una actionPerformed che, a seconda di "scelta" mi individua l'azione che ho effettuato (pressione di un pulsante, utilizzo di un combobox, ecc...).

    Vi ringrazio anticipatamente!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    105
    Ciao, lo switch case e una struttura che appunto switcha a dipendeza dei casi quindi il caso case(1) non comprende l assegnazione dell' attributo numero.

    cmq puoi farlo anche cosi
    codice:
    public Class MiaClasse{
         private int numero;
    
         public void funzione(int scelta){
        if(scelta == 0){
           numero = 10;
        }
            System.out.println(numero);
         }
    }
    
    Ciaop

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.