Исключение throw, если стек пуст
Good morning, I would like to know how I can check if a stack is empty and in that case throw an exception. The idea is to have a main class, and other classes that do the tests. Thank you, Luke
Что я уже пробовал:
Класса Stack
public class Stacks{ public static int max(Stackstack) throws isEmpty { int max = (int) Integer.MIN_VALUE; if (stack.isEmpty()) { throw new isEmpty("The stack is empty"); } else { return max; } } }
Класс test1
public class Test1{ public static void main(String[] args) throws IncorrectOperation { Stack stack= new LinkedStack(); try { System.out.println(stack); System.out.println(Stacks.max(stack)); } catch (IncorrectOperation e) { e.printStackTrace(); } } }
Класс LinkedStack
public class LinkedStack implements Stack{ private Node top; public LinkedStack() { top= null; } public void push(Object element) { Node node = new Node(element); node.setLink(top); top= node; } public void pop() throws BottomOverflow{ if (isEmpty()) { throw new BottomOverflow("Impossible pop"); } top= top.getLink(); } public Object top() throws BottomOverflow{ if (isEmpty()) { throw new BottomOverflow("Impossible to consult the top"); } return top.getElement(); } public boolean isEmpty() { return (top== null); } }
Richard MacCutchan
В чем же проблема?
Lucas Dana
Как я могу создать исключение в Java, когда он проверяет, пуст ли стек, а если нет, то покажите мне элементы этого стека и самое большое число.?
Richard MacCutchan
Вы уже делаете это в своем коде. Так в чем же именно заключается проблема?
Lucas Dana
public static int max(Stack stack) выбрасывает некорректную операцию{
}
}
Lucas Dana
Какой код я должен вставить, чтобы он вызывал исключение в случае, если стек пуст, а в другом тесте возвращал элементы стека и целое число с максимальным значением?
wseng
Пожалуйста, помогите нам помочь вам, вставив stacktrace.
Lucas Dana
стек.LinkedStack@15db9742
Информация: стек пуст
-2147483648