Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    Utilizzare il contenuto della variabile come nome di una variabile

    C'è un modo di farlo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Se ho capito bene quello che vuoi fare, la risposta e' no.
    Ma a cosa ti serve?

  3. #3
    per rendere piu "generale" una funzione invece che di farne 3, visto che l'unica cosa che cambierebbe fra le 3 funzioni è dove viene aggiunto il dato

    tipo:

    ho 3 vector di stringhe.

    Vector<String> a = new Vector<String>();
    Vector<String> b = new Vector<String>();
    Vector<String> c = new Vector<String>();

    public void funzioneA ( String Dato ) {
    a.add(Dato);
    }

    public void funzioneB ( String Dato ) {
    b.add(Dato);
    }

    public void funzioneC ( String Dato ) {
    c.add(Dato);
    }

    Capito cosa vorrei poter fare? Passargli come parametro anche il nome della variabile e poi usarlo

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per fare quello che chiedi è sufficiente cambiare la firma del metodo:
    codice:
    public void funzioneA (String Dato, Vector destinazione) {
       destinazione.add( Dato );
    }
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Se non puoi passagli il Vector, puoi sempre utilizzare una Map di Vector e passare il nome (che poi e' la versione fattibile di quello che volevi fare in partenza).
    codice:
    private Map<Vector> vettori = new HashMap<Vector>();
    
    //NEL COSTRUTTORE
    vettori.put("a",new Vector());
    vettori.put("b",new Vector());
    vettori.put("c",new Vector());
    
    //IL METODO DIVENTA
    public void funzione(String dato, String key) {
       if(vettori.containsKey(key)) {
          Vector vettore = vettori.get(key);
          vettore.add(dato);
       }
    }

  6. #6
    carina come idea, il problema è che con questa soluzione si complica di molto il codice e non so quanto verrebbe ottimizzato il tutto =)

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Si complica? Qualche riga in piu' non mi sembra una grossa comlicazione, devi solo sostituire le parti in cui accedi ai vari vettori. A livello computazionale, l'uso di Hashmap ti permette di accedere ai vettori sottostanti ad un costo irrisorio.

  8. #8
    bhe si complica perche dovrei un attimino riordinare tutto il codice e piu che altro non vorrei fare delle cappellate in quanto è un progetto per un esame di programmazione universitaria e non vorrei fare bischerate, sai i professori ti "puniscono" se utilizzi strumenti che non ti hanno insegnato, vallo a capire perche

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Beh, se i tuoi prof non vogliono e' un altro discorso allora...
    C'e' sempre un ulteriore metodo, assai brutto per la verita', di passare una stringa da testare con degli if per decidere in quale delle tre strutture dati inserire il daro.

  10. #10
    ehehe ci avevo già pensato è solo che sono alquanto pignolo e ossessionato dall'efficienza.

    Un altra cosa che mi viene in mente è: ( un po OT ma vitale ) secondo te se lui nel progetto mi dice di sviluppare un determinato caso ( per esempio ricerca in un file di testo di tutte le parole e ogni riga identifica una parola ) ma io sviluppo quello rendendolo piu generale ( ovvero che su una riga ci devono essere piu parole, proprio come se fosse una normale frase con punteggiatura e tutto il resto) va bene lo stesso? cioe vengo premiato?

    Cioe non lo faccio nemmeno di proposito di ingarbugliarmi cosi, proprio ne sento la necessità di stare a guardare tutti i ma i perche le virgole i punti e i miglioni di problemi teorici che mi vengono in mente

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.