ISortableStack<E> s = new ISortableStack(5); //Cannot instatiate ISORTABLESTACK
ISortableStack
- это интерфейс (он определяет сигнатуры методов, но не код, который идет в этих методах), и, таким образом, сам не может быть создан.Вместо этого попробуйте использовать конкретную реализацию класс:
ISortableStack<E> s = new SortableStack<E>();
Теперь E
в SortableStack
является параметром типа : это заполнитель для некоторых определенный класс, такой как String
.Вместо указания E
в качестве пользователя этого класса, вы должны указать компилятору, что E
должно отображаться для этого экземпляра.Похоже, ваш стек должен содержать символы, поэтому вы действительно хотите:
ISortableStack<Character> s = new SortableStack<Character>();
char character;
while ( (character = (char)System.in.read()) != '\n') {
//...
s.push(character);
}
Вам не нужно ch
, чтобы быть членом demo
.