2013-10-10 3 views
-1

Я получаю ошибку «типа стека не принимает параметры общественного класса ArrayStack реализует стек» из этого кода:не принимают параметры в Java

public class ArrayStack<E> implements Stack<E> { 

private E[] data; 

private int size; 

public ArrayStack() { 
data = (E[])(new Object[1]); 
size = 0; 
} 

public boolean isEmpty() { 
return size == 0; 
} 

public Object pop() { 
if (isEmpty()) { 
    throw new EmptyStructureException(); 
} 
size--; 
return data[size]; 
} 

public Object peek() { 
if (isEmpty()) { 
    throw new EmptyStructureException(); 
} 
return data[size - 1]; 
} 

protected boolean isFull() { 
return size == data.length; 
} 

public void push(Object target) { 
if (isFull()) { 
    stretch(); 
} 
data[size] = target; 
size++; 
} 

protected void stretch() { 
E[] newData = (E[])(new Object[data.length * 2]); 
for (int i = 0; i < data.length; i++) { 
    newData[i] = data[i]; 
} 
data = newData; 
} 
} 

«типа стека не принимает параметры общественного класса ArrayStack инвентаря Stack "

Класс стека выглядит следующим образом.

public interface Stack<E> { 

public boolean isEmpty(); 

public E peek(); 

public E pop(); 

public void push(E target); 

} 
+0

Не уверен, что ошибка, но ваш поп и заглядывать в ArrayStack должен вернуться E и ваш метод толчок должен принять Е. – Alowaniak

+0

Почему вы перепроведении? – nhgrif

+0

Обычно, когда люди реплицируют ** точный ** тот же вопрос, обычно это означает, что в старом вопросе есть 0 ответов. Я не понимаю, у вашего другого вопроса есть 2 ответа. –

ответ

0
метод

Ваш взгляд подхалима() хотел бы это

public E peek() throws EmptyStructureException { 
     if (isEmpty()) { 
      throw new EmptyStructureException(); 
     } 
     return (E)data[size - 1]; 
    } 

Ваш метод толчок() хотел бы этот метод

public void push(E target) { 
     if (isFull()) {  
      stretch(); 
     } 
     data[size] = target; 
     size++; 
    } 

Ваше поп() хотел бы этот

public E pop() throws EmptyStructureException { 
     if (isEmpty()) { 
      throw new EmptyStructureException(); 
     } 
     size--; 
     return (E)data[size]; 
    } 

Теперь ваш интерфейс выглядит как бело ж

public interface Stack<E> { 

     public boolean isEmpty(); 

     public E peek() throws EmptyStructureException; 

     public E pop() throws EmptyStructureException; 

     public void push(E target); 

} 
Смежные вопросы