Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Array dinamici

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    115

    Array dinamici

    Salve volevo sapere cosa sbaglio in questa implementazione:
    Codice PHP:
    ArrayList<Integernodi = new ArrayList<Integer>();
    //      inserimento primo arco
            
    for (int i=0i<G.lunghezzai++){
                
    nodi.add(i);
            }
                    for(
    int j=0;j<nodi.size();j++){
                
    System.out.println(nodi.get(j));
            }
            
            
    System.out.println(nodi.size());
        
            while(
    nodi.size()>0){
            
            
    int head = (int)(Math.random()*nodi.size());
            
    System.out.println("Indice nodo head = "+head);
            
    int tail = (int)(Math.random()*nodi.size());
            
    System.out.println("Indice nodo tail = "+tail);
            if(
    tail!=head || nodi.size()>2){
                
    System.out.println();        
                
    System.out.println(nodi.get(head));
                
    System.out.println(nodi.get(tail));
            
    nodi.remove(head);
            
    nodi.remove(tail);
            
    System.out.println(nodi.size());        

            
            
            }
        
            
    int head1 = (int)(Math.random()*nodi.size());
            
    System.out.println("Indice nodo head = "+head1);
            
    int tail1 = (int)(Math.random()*nodi.size());
            
    System.out.println("Indice nodo tail = "+tail1);
            if(
    tail1!=head1 || tail1!=tail || head1!=head || nodi.size()>2){
                
    System.out.println();        
                
    System.out.println(nodi.get(head1));
                
    System.out.println(nodi.get(tail1));
            
    nodi.remove(head1);
            
    nodi.remove(tail1);        
            
    System.out.println(nodi.size());
            
            
            }
            
            
    nodi.size();
        } 

    mi da questo errore:
    Codice PHP:
    Numero nodi 10 Numero archi 35

    [0,0]:
    [
    1,1]:
    [
    2,2]:
    [
    3,3]:
    [
    4,4]:
    [
    5,5]:
    [
    6,6]:
    [
    7,7]:
    [
    8,8]:
    [
    9,9]:
    [
    10,10]:

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Indice nodo head 
    10
    Indice nodo tail 
    2

    10
    2
    9
    Indice nodo head 
    7
    Indice nodo tail 
    5

    8
    6
    7
    Indice nodo head 
    3
    Indice nodo tail 
    0

    4
    0
    5
    Indice nodo head 
    0
    Indice nodo tail 
    3

    1
    7
    3
    Indice nodo head 
    0
    Indice nodo tail 
    2

    3
    7
    Exception in thread 
    "main" java.lang.IndexOutOfBoundsExceptionIndex2Size:
    2
            at java
    .util.ArrayList.RangeCheck(ArrayList.java:547)
            
    at java.util.ArrayList.remove(ArrayList.java:387)
            
    at Generatore3.main(Generatore3.java:65)
    Press any key to continue... 
    Grazie mille!!!

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    alla riga:
    at Generatore3.main(Generatore3.java:65)
    hai un bel:
    java.lang.IndexOutOfBoundsException:
    Cerchi di accedere all'elemento di
    Index: 2
    Ma la dimensione è
    Size: 2
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

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.