我是java的初学者,正在使用数组编写堆栈类。
所以我在这个类中有一个名为pop
的方法 public int Pop(){
if (current_size >0)
{ // do something
return ele;
}
// return nothing <-- ths is where error is
}
因为我有返回类型int ..类总是期望返回一些东西。 我应该如何处理这样的情况,如果条件为真,方法将返回一些东西,否则它不会返回任何东西? 感谢
答案 0 :(得分:7)
您必须始终返回某些内容(除非您的方法为void
)或抛出异常。你可以试试这个:
public int pop() {
if (current_size > 0)
return ele;
throw new EmptyStackException();
}
答案 1 :(得分:3)
不知道你想要的行为是什么,很难告诉你,但我可以提供一些建议。
Integer
包装类而不是int
原语。通过这种方式,您可以返回null
,这将是什么。如果这是一个例外情况,您可能希望throw
Exception
。
if (evaluateSomething()) {
// do something in response...
} else {
throw new RuntimeException("You can't do that!");
}
答案 2 :(得分:2)
当堆栈为空时,您可以引发异常,或者如果您的堆栈从不具有负数,则可以返回特殊的int,如-1。
throw new StackIsEmptyException();
答案 3 :(得分:1)
您需要有一个return语句或为所有可能的退出点抛出异常。
答案 4 :(得分:1)
除非您的方法是command -sq
,否则您必须返回变量或抛出/捕获异常。这样的事情应该做;
void