Я работаю над реализацией проблемы с рыцарским туром и столкнулся с небольшой проблемой в своем коде.Оператор switch не собирается по умолчанию
Проблема у меня есть с моим оператором switch. Я в замешательстве, почему после того, как он проходит все возможные шаги, и больше не работает, он не переходит к дефолту, как и я. Вместо этого он печатает финальную доску, но продолжает работать, ничего не делая, поэтому мне нужно отменить сборку.
Любая помощь будет оценена!
Моя цель - заставить его отобразить «Невозможно двигаться». вместо того, чтобы бежать навсегда, когда он не может двигаться нигде.
Вот пример выхода: Он останавливается на 53 в левом нижнем углу.
1 0 41 34 3 38 23 36
42 33 2 39 44 35 46 21
7 40 43 4 19 22 37 24
32 11 6 0 26 45 20 47
0 8 0 18 5 16 25 0
10 31 12 51 14 27 48 0
53 0 9 30 17 50 15 28
0 0 52 13 0 29 0 49
BUILD STOPPED (total time: 0 seconds)
Вот мой переключатель Код:
public class MoveKnight extends Moves {
public int[][] moveTheKnight() {
Moves switchBetweenMoves = new Moves();
switchBetweenMoves.startingLocation();
while (knight != 64) {
int randomMove = 1 + new Random().nextInt(8);
switch (randomMove) {
case 1:
switchBetweenMoves.firstMoveChoice();
break;
case 2:
switchBetweenMoves.secondMoveChoice();
break;
case 3:
switchBetweenMoves.thirdMoveChoice();
break;
case 4:
switchBetweenMoves.forthMoveChoice();
break;
case 5:
switchBetweenMoves.fifthMoveChoice();
break;
case 6:
switchBetweenMoves.sixthMoveChoice();
break;
case 7:
switchBetweenMoves.seventhMoveChoice();
break;
case 8:
switchBetweenMoves.eighthMoveChoice();
break;
default:
System.out.println("No more possible moves.");
break;
}
}
return board;
}
}
он будет идти по умолчанию, когда 'randomMove' не между' 1' и '8' включительно. Я ничего не вижу в вашем коде, чтобы это не было. –
Вопрос мне до сих пор неясно --- хотите ли вы заставить свой 'default' в операторе switch запускать? Если вопрос таков, тогда это невозможно ... –
Вместо [многократно задающих эти вопросы] (http://stackoverflow.com/questions/26762449/knights-tour-random-move-picker-not-working) , ознакомьтесь с официальным руководством по [операторам управления потоком] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html), а также документации для ['Random'] (http://docs.oracle.com/javase/7/docs/api/java/util/Random.html). См. Также [этот пост] (http://meta.stackoverflow.com/a/261593/616460) для получения дополнительной информации о том, что вы должны сделать перед публикацией здесь. –