View Full Version : [Java] Problema ADT
Ragazzi dovrei implementare una coda o queue usando uno Stack.Perfetto ci ho provato ma mi da errore e precisamente mi compare la scritta (senza neanche indicarmi dove si trova l'errore)Exit code 255; ma che vuol dire?questo è il codice:
public class coda
{
/*Ho pensato di implementare la coda come se fosse un array avente una sola riga ma tante colonne che ho chiamato dato*/
private final int riga=1;
private int [ ][ ]dato;
private int head;
public coda(int dim)
{
dato=new int [riga][dim];
head=0;
}
public boolean empty()
{
return (dato[0][head--]==0);
}
public void enqueue(int elem)
{
if(head==dato[0].length)
{
System.out.println("Coda piena");
return;
}
dato[0][head++]=elem;
}
public int dequeue()
{
return dato[0][head--];
}
}
Secondo voi c'è qualche errore oppure per sbaglio ho cambiato qualche impostazione particolare che non doveva essere cambiata?
Grazie a tutti per l'aiuto.
wingman87
08-02-2009, 23:45
Ciao, all'inizio del titolo del thread devi scrivere "[JAVA]" e il codice lo devi racchiudere, indentato, tra i tag CODE
il titolo l'ho modificato(anche se non capisco il motivo visto che c'è scritto chiaramente problema adt in JAVA quindi si capisce che sto parlando di java e non di un altro linguaggio di programmazione!:confused: )per il resto non capisco cosa intendi quando dici: "....il codice lo devi racchiudere, indentato, tra i tag CODE" cioè che dovrei fare praticamente?risolti questi due problemini qualcuno mi saprebbe aiutare?:help:
Oceans11
09-02-2009, 08:29
il titolo l'ho modificato(anche se non capisco il motivo visto che c'è scritto chiaramente problema adt in JAVA quindi si capisce che sto parlando di java e non di un altro linguaggio di programmazione!:confused: )
I motivi stanno scritti nei thread in rilievo, uno su tutti (e scusa se è poco) è uniformità nel titolo che facilità la ricerca (almeno per chi la usa :rolleyes: )
per il resto non capisco cosa intendi quando dici: "....il codice lo devi racchiudere, indentato, tra i tag CODE" cioè che dovrei fare praticamente?risolti questi due problemini qualcuno mi saprebbe aiutare?:help:[/QUOTE]
Questo vuol dire che devi modificare il tuo primo post e racchiudere il codice in dei tag ("code" appunto) che permettono al testo di mantenere una certa formattazione (come tablature, rientri ecc.) Il pulsante è quello del #!
Ora veniamo al problema. Tu hai detto che devi implementare una coda, mmm, usando uno stack!?!?!?! ma sei sicuro? Tra l'altro tu hai usato una matrice. Per come hai scritto il codice direi:
Devi implementare una cosa usando un array (monodimensionale!).
Quindi incomincia con il fare chiarezza e eventualmente modifica la variabile int[][] dato in int[] dato. Poi occhio che una coda ha bisogno di 2 puntatori, non uno!
Allora fino ad ora ho studiato come ADT solo stack code e sequenza implementate mediante array. Il testo dell'esercizio dice:Implementare ognuno degli ADT studiati utilizzandone un altro.Quindi suppongo che si possa implementare una coda mediante una sequenza oppure una coda mediante uno stack ecc....Giusto??o no?Per il resto sto provando sistemare l'esercizio e non usare aray bidimensionali.
Oceans11
09-02-2009, 13:10
Allora fino ad ora ho studiato come ADT solo stack code e sequenza implementate mediante array. Il testo dell'esercizio dice:Implementare ognuno degli ADT studiati utilizzandone un altro.Quindi suppongo che si possa implementare una coda mediante una sequenza oppure una coda mediante uno stack ecc...
Boh!ma non perchè non lo so, piuttosto perchè credo che la risposta dipenda dal punto di vista. Io la vedo così: dato che pila coda e lista le implementi con un array, se implementi una pila come coda, non fai nient'altro che eliminare un elemento in prima posizione (uguale sia per pila che per coda) ed inserire un elemento che invece di andare in ultima, va in prima! ma questa non è più una coda!!!è un array implementato a pila, non ha nulla della coda. Questo è ciò che penso io.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.