Как увеличить переменную в цикле, чтобы переместить объект на определенное количество точек поворот в новом направлении

#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, я исправил свою ошибку, но большое вам спасибо за помощь 🙂