Еще одна проблема с функцией Java - PullRequest
2 голосов
/ 08 февраля 2010

Ооо, у меня проблема с моей функцией.

static int syracuse(int x){
    if (x%2==0){
      return x/2;
    else{
      return 3*x+1;
    }
   }
  }

Что ж, моя проблема в том, что если x четное, вернуть x / 2 ИЛИ x, если нечетное. возвращает 3x + 1. Но когда я пытаюсь скомпилировать java, он говорит мне, что ('else' с 'if') я не знаю, что делать: \

зачем мне еще, если?

Ответы [ 3 ]

6 голосов
/ 08 февраля 2010

Ваша проблема не соответствует брекетам:

static int syracuse(int x){
    if (x%2==0){
      return x/2;
    } else {
      return 3*x+1;
    }
}
2 голосов
/ 08 февраля 2010
if (x%2==0){
      return x/2;

изменить на:

if (x%2==0){
      return x/2;
}
2 голосов
/ 08 февраля 2010

Ваши брекеты неправильно расположены.

static int syracuse(int x){
    if (x%2==0){
      return x/2;
    }
    else{
      return 3*x+1;
    }
}

PS: я не эксперт по java, поэтому я не уверен, что x / 2 может быть разыграно как int по возвращении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...