Pages: [1]   Go Down
Print
Author Topic: Help esercizio  (Read 979 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Bear
Guest
« on: 08-03-2010, 15:10:15 »

Dovrei inserire gli elementi (di tipo dipendente)di una coda in un array.Ho provato cosi ma mi da errore!!


Object[]a= new Object[10];
     int i=0;
     while(!c.isEmpty())
        {
          for(;i<a.length;i++)
          a=(dipendente)c.dequeue();
        }
       System.out.println("Gli elementi inseriti nell'array non ordinati"+a);
Logged
ottobit
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 186


!nope!


« Reply #1 on: 08-03-2010, 16:59:05 »

ma che tipo di errore scusa?
Logged
Bear
Guest
« Reply #2 on: 08-03-2010, 17:14:22 »

Questo è l'errore che mi torna,praticamante non mi inserisce gli oggetti,e per ogni  elemento dell'array che rimane vuoto,per cui si ripete il ciclo for, mi dice che la coda è vuota.


la coda è:<
identificativo :   38   nome :   Federico       cognome    Camarda
identificativo :   32   nome :   Pietro       cognome    Mavica
identificativo :   12   nome :   Sonia       cognome    Pinzone
identificativo :   26   nome :   Peppe       cognome    Vecchio
identificativo :   22   nome :   Adriano       cognome    Cali
identificativo :   28   nome :   Giovanni       cognome    Obama
identificativo :   36   nome :   Franco       cognome    Carto
identificativo :   48   nome :   Josef       cognome    Catalano
>
coda vuota, nessuna estrazione effettuata
coda vuota, nessuna estrazione effettuata
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
   at progetto.main(progetto.java:23)
Logged
ottobit
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 186


!nope!


« Reply #3 on: 08-03-2010, 17:55:08 »

ma dentro il while perchè hai messo una altro ciclo?
Se ad ogni estrazione deve essere associato un inserimento nell'array,devi utilizzare un unico ciclo while...
Così è normale che ti dia errore,perchè per ogni estrazione dalla coda tenti A.LENGTH inserimenti,
quindi il contatore I aumenta troppo,ed esce dall'array,dandoti l'errore che hai menzionato poco fa..

E altra cosa,per l'insrimento si fa così ---> a[ i ]=oggetto_da_inserire

Object[]a=new Object[10];
int i=0;
   while(!(c.isEmpty())){
        a[i++]=((dipendente)c.dequeue());
}

...ok??  ok
Logged
Bear
Guest
« Reply #4 on: 08-03-2010, 18:35:27 »

L'avevo provato pure e mi da questo errore

a coda è:<
identificativo :   38   nome :   Federico       cognome    Camarda
identificativo :   32   nome :   Pietro       cognome    Mavica
identificativo :   12   nome :   Sonia       cognome    Pinzone
identificativo :   26   nome :   Peppe       cognome    Vecchio
identificativo :   22   nome :   Adriano       cognome    Cali
identificativo :   28   nome :   Giovanni       cognome    Obama
identificativo :   36   nome :   Franco       cognome    Carto
identificativo :   48   nome :   Josef       cognome    Catalano
>
Gli elementi inseriti nell'array non ordinati
null
Logged
Bear
Guest
« Reply #5 on: 08-03-2010, 18:40:35 »

Mentre se provo con un'altra coda, ad esempio

coda l= new coda (10);

l.enqueue(c.dequeue());

Mi funziona!!!!
Non capisco l'errore!!!
Logged
ottobit
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 186


!nope!


« Reply #6 on: 08-03-2010, 20:34:12 »

Così funziona:

Code:
public class test{
    protected static MyQueue c;
    protected static Object coda[];
    protected static int buffer;
    public static void main(String[]args){
       
        c=new MyQueue();
        buffer=1;
       
        //inserisco nella coda
        for(;buffer<=6;buffer++)
            c.Enqueue(buffer);
       
        coda=new Object[buffer];
       
        //trasferisco nell'array
        for(;buffer>0;buffer--)
            coda[buffer-1]=c.Dequeue();
       
        //Stampo l'array
        for(int i=0;i<coda.length;i++)
            System.out.print(coda[i]+"\t");
        System.out.println();
    }
}

e comunque dipende qualcosa anche dal tipo di implementazione che fai della coda.... 
Logged
Bear
Guest
« Reply #7 on: 09-03-2010, 15:17:55 »

Me la posteresti la coda che utilizzi,e mi spiegheresti per piacere perchè metti coda[buffer-1] invece che
coda[buffer].Grazie comunque per le risposte. ciao ok
Logged
Pages: [1]   Go Up
Print
Jump to: