public class StackSimple{
private long capacity=1000;//maximum size of array
private int idx_top;
private Object data[];
public StackSimple(int capacity)
{
idx_top=-1;
this.capacity=capacity;
data = new Object[capacity];
}
public boolean isEmpty(){
return(idx_top<0);
}
public boolean isFull(){
return(idx_top>=capacity-1);
}
public int size()
{
return idx_top+1;
}
public boolean push(Object x){
if (isFull()){
throw new IllegalArgumentException("ERROR:Stack Overflow.Full Stack");
}
else
{`enter code here`data[++idx_top]=x;
return true;
}
}
public Object pop(){
if(isEmpty())
throw new IllegalArgumentException("ERROR:Stack Underflow.Empty Stack.");
else{
return data[idx_top--];
}
}
public Object top(){
if (isEmpty())
throw new IllegalArgumentException("ERROR:Stack Underflow.Empty Stack.");
else{
return data[idx_top];
}
}
public void print()
{`
for (int i=size()-1;i>=0;i--)
System.out.println(data[i]);
}
}
public class Stack_Exercise {
public static void main(String[] args) {
StackSimple s = new StackSimple(capacity:3);//error shows here
s.push(x:"books");`enter code here`
s.push(x:"something");
s.push(x:"200");
s.print();
System.out.println("Size=" +s.size());
}
}
Pourquoi cela ne fonctionne-t-il pas? Pourquoi dit-on une déclaration invalide lors de la création de l'objet StackSimple? Le problème est dans la classe principale lors de son exécution. Il y a des erreurs en poussant les éléments.Quel est le problème avec ce code? Il ne fonctionnera pas
'nouveau StackSimple (capacité: 3)' ?? Juste 'new StackSimple (3)'. Utilisez-vous IntelliJ par hasard? –
Mettez votre message d'erreur au lieu d'une image. – aristotll
qu'est-ce que cela signifie pour vous?: *** StackSimple (capacité: 3); *** –