Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    60

    crare array con indici alfabetici

    Salve a tutti..
    Sto lavorando su un gioco in java, ho un array con dentro dei numeri(non importante) ed ogni numero (es. primo numero indice array 0) rappresentano una direzione (S,N,E,O,NE,..).
    Mi spiego meglio : indice 0, contiene un qualcosa, e l'indice 0 rappresenta per me programmatore il Sud(S).
    Ora io vorrei entrare nell'array non con l'indice numerico ma con appunto S,N,E.. ovvero dovrei trasformare gli indici in lettere come posso fare??

    Spero di essermi spiegato.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    60
    Lo faccio perkè sarebbe più comodo per fare tipo: pippo=Array[S]

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Puoi cambiare struttura: usare un'hashmap o un'hashtable.
    Oppure definire delle costanti che sostituiscono il tuo numero...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    60
    in che senso delle costanti??

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    final int N = 1;

    Array[N];
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    In java sarebbe meglio usare Map con cui poter associare chiavi/valore.
    Puoi inoltre usare una enum, ma la gestione diventa onerosa.
    Ti ricordo inoltre che gli interi sono una estensione di char, quindi potresti parlare proprio di caratteri castandoli ad interi.

    La prima soluzione, dal punto di vista implementativo, è la migliore.
    RTFM Read That F*** Manual!!!

  7. #7
    oppure puoi fare uno switch case
    codice:
    int val=-1;
    switch (expr) { 
      case S: val=0; break;
     case N: val=1; break;
    .....
    }
    //e poi chiamare array in tal modo
     array[val]
    E' un metodo veloc anche se come ha detto l'utente precedente creerei una classe ad hoc con attributi pubblici con final.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

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.