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...
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...