Java不可达语句

Java不可达语句,java,arrays,Java,Arrays,我正在尝试编写一个方法,该方法根据loadBoard中的一个数字(此处为数字_)加载地图;但我在网上得到了“无法到达的承诺” return board; 这是我的密码: public int[][] loadBoard(int map) { if (map == 1) { return new int[][] { {2,2,24,24,24,24,24,3,3,0,0,0,1 }, { 2,2,24,23,23,23,24,1,3,0,0,0,1 }, { 1,1,2

我正在尝试编写一个方法,该方法根据loadBoard中的一个数字(此处为数字_)加载地图;但我在网上得到了“无法到达的承诺”

return board;
这是我的密码:

public int[][] loadBoard(int map) {
    if (map == 1) {   return new int[][] { 

 {2,2,24,24,24,24,24,3,3,0,0,0,1 },

 { 2,2,24,23,23,23,24,1,3,0,0,0,1 },

 { 1,1,24,23,23,23,24,1,3,3,3,3,1 },

 { 1,1,24,24,23,24,24,1,1,1,1,3,1 },

 { 1,1,1,1,7,1,1,1,1,1,1,3,1 },

 { 5,1,1,1,7,7,7,7,7,1,1,1,1 },

 { 6,3,3,1,3,3,3,1,7,7,7,3,1 },

 { 6,3,3,1,3,1,1,1,1,1,7,1,1 },

 { 3,3,1,1,1,1,1,1,1,1,7,1,1 } };

 }else{

 return new int[][] {

 { 1,1,1,1,1,24,1,1,1,1,1,1,1 },


 { 1,1,1,1,1,24,1,1,1,1,1,1,1 },

 { 1,1,1,1,1,24,1,1,24,1,1,1,1 },

 { 1,1,1,1,1,24,1,1,24,1,1,1,1 },

 { 1,1,7,1,1,24,24,24,24,1,1,1,1 },

 { 1,1,7,1,1,24,1,24,1,1,1,1,1 },

 { 1,1,1,1,1,24,1,1,1,1,1,1,1 },

 { 1,1,1,1,1,24,1,1,1,1,1,1,1 },

 { 1,3,3,1,1,24,1,1,1,1,1,1,1 },

 }; } 

 return board;  }

我做错了什么?

你的最后一行
返回板

如果您查看您的代码,您有:

if (condition)
  return /* Some things go here */
else
  return /* The rest go here */
return /* But who goes here? */

答案是删除不可访问的代码行,因为它毫无意义。

在每个“if”和“else”块中,都返回一个值。由于执行路径将始终进入其中一个块,因此您将始终从其中一个块返回,并且您将永远不会陷入“返回板”状态。

基本上,您有一个类似以下的模式:

if(condition)   
    return val_a;
else
    return val_b;

return val_c;

由于您的“else”是无条件的,因此“if”或“else”都保证执行。所以最后一次返回是无法到达的。

So。。我该怎么办?我被卡住了;因此我请求帮助(我看到了我的错误,如果这正是您试图解决的问题。但我不知道如何修复它。请将“return new in[][]”更改为“board=new int[][]”,然后在endIndent中返回board并将其正确缩进,这样问题就更容易看到了。