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

    [JAVA] - Errore ArrayList

    abbiamo questo errore:

    codice:
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
    
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    
    ....
    cosa significa?

    Agenda.java (confronto)
    codice:
    public Appuntamento confronta(String[] dati){
    int durata = (Integer.parseInt(dati[4]));
    	    numeroAppuntamenti = vAppuntamenti.size();
    	    if (numeroAppuntamenti<=1){}	    
    		    else {
    		    
    		    int conta_app=0;
    
    	    for (int i = 0; i <= numeroAppuntamenti; i++) {
    	      p = vAppuntamenti.get(i);
    	     String durata_esistente=p.getDurata();
    		 String data_esistente = p.getData();
    	      if (dati[2].equalsIgnoreCase(data_esistente)) {
    	       String ora_esistente=p.getOrario();
    		if (dati[3].equalsIgnoreCase(ora_esistente)){
    		    conta_app=conta_app+1;
    		}
    	       }
    				if (conta_app>1)
    		     System.out.println("ATTENZIONE!!!!!!!!!! \n in quest'orario hai gia' un appuntamento che inizia alle"+ data_esistente  +"e dura "+durata_esistente);
    
    	    }
       }
       return null;
    	   }

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    37

    Eccezione

    Semplicemente che stai controllando una posizione dell'array che no esiste.
    Hai cioè sfruttato un indice dell'array vuoto..


    if (dati[2].equalsIgnoreCase(data_esistente)) {

    Prendi dati[2] che probabilmente non esiste e gli chiedi di fare qualcosa (.equalsIgnoreCase...).
    Almeno prima controlla che sia != null;

    Ciao

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    for (int i = 0; i <= numeroAppuntamenti; i++) non va bene.

    Se numeroAppuntamenti vale (ad esempio) 4, tu scorrerai l'array dall'indice 0 all'indice 4 (cioè 5 elementi), quando in realtà dovresti fermarti un elemento prima.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.