非常基本的java方法

时间:2012-09-24 02:37:41

标签: java

我是java的初学者,正在使用数组编写堆栈类。

所以我在这个类中有一个名为pop

的方法
 public int Pop(){
   if (current_size >0)
    { // do something 
      return ele;
     }
     // return nothing  <-- ths is where error is
     }

因为我有返回类型int ..类总是期望返回一些东西。 我应该如何处理这样的情况,如果条件为真,方法将返回一些东西,否则它不会返回任何东西? 感谢

5 个答案:

答案 0 :(得分:7)

您必须始终返回某些内容(除非您的方法为void)或抛出异常。你可以试试这个:

public int pop() {
    if (current_size > 0) 
        return ele;
    throw new EmptyStackException();
}

答案 1 :(得分:3)

不知道你想要的行为是什么,很难告诉你,但我可以提供一些建议。

  1. 如果您想真正返回任何内容,则应将返回类型更改为Integer包装类而不是int原语。通过这种方式,您可以返回null,这将是什么。
  2. 如果这是一个例外情况,您可能希望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