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

    Scorrere arraylist di stringhe con confronto

    Ragazzi allora la situazione è questa. ho creato un arraylist di stringhe.dopodichè tramite input da tastiera prelevo delle informazioni che inserisco nel arraylist. Dalla seconda informazioni in poi che inserisco nell'arraylist vorrei che l'informazione inserita all'istante da tastiera venisse confrontata con gli elementi dell'arraylist per vedere se esistono record uguali. Però non riesco a fare funzionare quanto scritto. Vi posto il codice.

    ArrayList<String> matricole=new ArrayList<String>();
    System.out.println("Inserisci una matricola per studente: ");
    String matr=in.nextLine();
    matricole.add(matr);
    for(String i: matricole) //questo metodo l'ho trovato scritto su internet
    {
    if(i.equals(matr))
    System.out.println("Errore gia presente");
    }

    Grazie Ciao

  2. #2
    non va bene perchè prima aggiungi la nuova matricola e poi fai il controllo, devi fare il contrario.
    puoi anche usare il metodo contains

    codice:
    ArrayList<String> matricole=new ArrayList<String>();
    System.out.println("Inserisci una matricola per studente: ");
    String matr=in.nextLine();
    if(matricole.contains(matr)) {
      System.out.println("Errore gia presente");
    } else {
      matricole.add(matr);
    }
    ancora meglio puoi usare un Set al posto di una List, che non accetta valori duplicati

    codice:
    Set<String> matricole=new HashSet<String>();
    System.out.println("Inserisci una matricola per studente: ");
    String matr=in.nextLine();
    if(matricole.add(matr)) { //add ritorna false se l'elemento esiste già
      System.out.println("Errore gia presente"); 
    }
    ah mi aspetto che
    codice:
    ArrayList<String> matricole=new ArrayList<String>();
    lo fai in un altra parte del codice altrimenti crei una lista nuova ogni volta

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Scorrere arraylist di stringhe con confronto

    Originariamente inviato da OaCkLeY86
    vorrei che l'informazione inserita all'istante da tastiera venisse confrontata con gli elementi dell'arraylist per vedere se esistono record uguali. Però non riesco a fare funzionare quanto scritto. Vi posto il codice.

    for(String i: matricole) //questo metodo l'ho trovato scritto su internet
    {
    if(i.equals(matr))
    System.out.println("Errore gia presente");
    }
    Nota che ArrayList ha un boolean contains(Object o).

    Quindi in linea di massima ti basta fare:

    if (matricole.contains(nuovaMatricolaInserita)) { .... }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    GoodbyeSoberDay funziona perfettamente ciò che mi hai scritto. Cmq l'arraylist viene creato esternamente. Fin qui c'ero anche io ... Ciao grazie

  5. #5
    mi sorge un altro dubbio.. se la matricola è gia presente come posso ritornare alla domanda di inserimento matricola?

  6. #6
    puoi usare un for o un while infinito e break per uscirne
    codice:
    ArrayList<String> matricole=new ArrayList<String>();
    String matr = null;
    while(true) {
      System.out.println("Inserisci una matricola per studente: ");
      matr=in.nextLine();
      if(matricole.contains(matr)) {
        System.out.println("Errore gia presente");
      } else {
        matricole.add(matr);
        break;
      }
    }

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.