#java #loops #if-statement
#java #циклы #if-оператор
Вопрос:
поворот по часовой стрелке: сначала 3 раза на север, затем 3 раза на восток, затем 3 раза на юг, затем 3 раза на Запад, затем повторяется.
В настоящее время мой код поворачивает птицу с севера на восток на запад, затем с севера на восток на юг и перемещается на 2 севернее, но не увеличивает никакое другое направление
создание циклов for с массивом и временной переменной, хранящей направление строки, просто чтобы проверить, какое направление необходимо
public Direction getMove(){
if(count > 12){
count = 0;
}else if(count <= 12){
if(count >= 0 amp;amp; count <= 3){
count ;
return Direction.NORTH;
}else if(count > 3 amp;amp; count <= 6){
count ;
return Direction.EAST;
}else if(count > 6 amp;amp; count <= 9){
count ;
return Direction.SOUTH;
}else if(count > 9 amp;amp; count <= 12){
count ;
return Direction.WEST;
}
}
Комментарии:
1. Этот код не будет компилироваться как заданный; если count больше 12, метод не выполнит
return
инструкцию.
Ответ №1:
Ваш код не будет компилироваться из-за отсутствия инструкции return.
Вот гораздо более простой метод, не утруждайте себя подсчетом остатков, просто найдите его модуль.
public Direction getMove()
{
Object dir = Direction.WEST;
switch(count%4)
{
case 0: Direction.NORTH;
case 1: Direction.NORTH;
case 2: Direction.NORTH;
}
count ;
return dir;
}
Надеюсь, это сработает.
Комментарии:
1. Я забыл вставить свой оператор return, я исправил свою ошибку, но большое вам спасибо за помощь 🙂