PDA

View Full Version : errrori in java


boysna
15-12-2004, 18:41
devo implementare la struttura stack tramite una coda doppi ma il compilatore mi da i seguenti errori:
1)illegal start of type in varie linee;
2)invalid method declaration, return type required in varie linee;
3)<identifier> expected anke questo in varie linee;
il codice è questo:
classe ke contiene il main:

//Inizializzo uno stack tramite una coda doppia
DequeueStack codastack = new DequeueStack();

String num_oggetti_input_codastack =
JOptionPane.showInputDialog("Quanti oggetti vuoi inserire nello stack?");
int num_oggetti_codastack = Integer.parseInt(num_oggetti_input_codastack);

for(int i=0; i < num_oggetti_codastack; i= i + 1) {
String oggetto_inserito_input_codastack =
JOptionPane.showInputDialog("Inserisci il prossimo elemento nello stack");
Object o = oggetto_inserito_input_codastack;
codastack.push(o);
}

System.out.println("l'elemento al top dello stack è:" + codastack.top());
codastack.pop();
System.out.println("L'elemento al top è stato eliminato");
System.out.println("Ora al top c'è:" + codastack.top());

if (codastack.size() == 0){
System.out.println("lo stack è vuoto"); }
else
{
System.out.println("lo stack non è vuoto");
System.out.println("Al momento vi sono "+ codastack.size() + " elementi");
}

interfaccia stack:
public interface Stack {

public int size();

public boolean isEmpty();

public void push(Object o);

public Object top()
throws StackEmptyException;

public Object pop()
throws StackEmptyException;

}

classe mydequeue dove vengono implementati i metodi della coda doppia e non ve la scrivo xke di sicuro non ci sono errori in questa classe ke implementa dequeue ke pure va bene e non ha problemi.

classe dequeuestack ke è la classe dove implemento i metodi stack tramite doppia coda :

class DequeueStack implements Stack{

MyDequeue coda_doppia = new MyDequeue();

public DequeueStack(){
coda_doppia.header = null;
coda_doppia.trailer = null;}

public int size(){
return coda_doppia.size();}

public boolean isEmpty(){
return coda_doppia.isEmpty();}

public Object top() throws StackEmptyException{
if (coda_doppia.isEmpty()) { throw new StackEmptyException("Stack è vuoto!");}
return coda_doppia.last();}

public void push(Object o){
coda_doppia.insertLast(o);}

public Object pop() throws StackEmptyException{
if(coda_doppia.isEmpty()) { throw new StackEmptyException("Stack è vuoto!");}
return coda_doppia.removeLast();}
}
gli errori sono lanciati nella classe ke contiene il main..
Grazie a ki risp...

kingv
15-12-2004, 22:11
se facevi copia e incolla del messaggio del compilatore era piu' semplice ;)

la classe che contiene il main e' incompleta,sei sicuro di non aver commesso errori nella parte che non hai postato?

boysna
16-12-2004, 10:56
in ke senso è incompleta?
Comunque mi basta anche sapere che tipo di errore è perchè non ho capito proprio il tipo di errore.Se lo sai dimmelo così potrei provare a risolverlo da solo. Grazie.

kingv
16-12-2004, 12:08
Originariamente inviato da boysna
in ke senso è incompleta?



la dichiarazione della classe e del metodo main non ci sono.....

end.is.forever
16-12-2004, 13:26
Questo codice non basta per sapere dove sia l'errore, comunque probabilmente hai chiuso una parentesi graffa di troppo e si aspetta una dichiarazione di type (classe/interfaccia) mentre tu stai ancora dichiarando membri della classe.