2010-07-13 3 views
2

Я пытаюсь закодировать метод, который загружает карту в соответствии с числом внутри loadBoard (NUMBER_HERE); Но я получаю «недостижимые Постулаты» на линииJava unreachable statement

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; } 

Что я делаю неправильно?

+0

Отклонить его правильно, тогда проблему легче увидеть. – starblue

ответ

7

Последняя строка return board;

Если вы посмотрите на ваш код у вас есть:

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

Ответ удалить, что Unreachable строка кода, как это в буквальном смысле бессмысленно.

+0

Итак, что мне делать? Я застрял; поэтому я попросил о помощи. :( – nn2

+0

Я вижу свою ошибку, если это то, к чему вы пытаетесь добраться. Но я не знаю, как это исправить. – nn2

+0

Изменить 'return new in [] []' to 'board = new int [] [ ] ', а затем вернуться на доску в конце – samitgaur

1

В каждом из блоков «if» и «else» вы возвращаете значение. Поскольку путь выполнения всегда будет вводить один из этих блоков, вы всегда будете возвращаться из одного из них, и вы никогда не попадете на «возврат платы».

1

В основном у вас есть картина, как:

if(condition) 
    return val_a; 
else 
    return val_b; 

return val_c; 

Так как ваш «еще» является безусловным, либо «если» или «другое» гарантированно выполнить. Таким образом, последнее возвращение недостижима.

Смежные вопросы