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

    Un for avanzato per due ArrayList?

    Salve, sviluppando un programma che chiede tramite istanza di Scanner un nome (String) e un anno di nascita (int), salvandoli in due ArrayList a meno che la String immessa non sia stop, mi chiedevo se si potesse usare un for avanzato per stampare affiancati nome e relativo anno di nascita per ogni persona, come si farebbe con un for tradizionale, dato che l'indice nei due ArrayList coinciderebbe, e i due ArrayList avrebbero lo stesso size().

  2. #2
    avanza solo su uno, poi stampa l'elemento dei due array usando lo stesso indice

  3. #3
    Come faccio a fargli puntare una String e un int con lo stesso indice, dato che devo tipizzarlo?
    Lo dichiaro Object?

  4. #4
    ma che c'entra? l'indice di un array è sempre un numero..

  5. #5
    Lo so che si può fare con nomi.get(i) + " " + anni.get(i), ma ho chiesto se si possa fare con un for avanzato.

  6. #6
    cos'è un FOR avanzato? è i+1 invece che i ?

  7. #7
    codice:
    ArrayList<String> nomi = new ArrayList<String>();
    nomi.add("Mario");
    nomi.add("Giuseppe");
    
    for (String nome : nomi) {
         System.out.println(nome);
    }

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ovviamente non lo si può fare.
    Il vantagio del enhanced for è di non dover estrarre manualmente l'elemento dall'array (o dalla Collection) che si sta scorrendo. Lo svantaggio è che non hai a disposizione l'indice che moltissime volte serve per altro.

    Si deve scegliere un tipo di for-loop o l'altro a seconda delle esigenze.

    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

  9. #9
    Infatti, cercavo semplicemente una conferma.
    ll dubbio era emerso poiché si possono usare cicli tradizionali con più contatori
    codice:
    for (int i = 0, j = 10; i < j; i++, j--)
    e credevo esistesse una sintassi a me ignota per l'enhanced...
    Grazie.

  10. #10
    Quote Originariamente inviata da Gas75 Visualizza il messaggio
    ...si possono usare cicli tradizionali con più contatori...
    se sono array paralleli puoi usarne uno

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.