在Java中,如果我在函数中初始化了一个变量,该函数最后返回了那个变量,为什么我不能返回那个函数?

这是我正在工作的一些示例代码

  private int spitNumber(int imgNum) {
      int returnNum;
      switch (imgNum) {
      case 1:
      case 14:
      case 27:
      case 40:
      returnNum = 1;
      break;

      case 12:
      case 25:
      case 38:
      case 51:
      returnNum = 12;
      break;

      case 13:
      case 26:
      case 39:
      case 52:
      returnNum = 13;
      break;

    };
    return returnNum;
  }


当我编译代码时,我收到错误消息

error: variable returnNum might not have been initialized
    return returnNum;
           ^

最佳答案

您使用的是switch,但您的开关无法涵盖所有​​情况。

想想imgNum = 100时,您的程序将为returnNum分配什么值?

没事吧

因此,您应该为returnNum初始化一个起始值或为default提供一个switch大小写并在其中分配您的returnNum

10-07 19:08
查看更多