Как отобразить разные высказывания на основе случайного числа - PullRequest
2 голосов
/ 18 ноября 2010

Как я могу отобразить пользователю основное всплывающее окно с высказыванием, основанным на сгенерированном случайном числе. Я хотел использовать оператор switch, но он просто отображает все высказывания, например:

int random = (int) Math.ceil(Math.random() * 5);

      switch(random){
            case 1:
                showToast(this, "Saying 1.");

            case 2:
                showToast(this, "Saying 2.");
}

и т.д ....

Как я уже сказал, здесь отображаются все 5 операторов, есть ли лучший способ случайной генерации и отображения на основе числа или я все делаю неправильно?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 18 ноября 2010

Операторы case внутри переключателя "проваливаются", если вы не break из них.

Это должно быть так:

switch(random) {
   case 1:
      statement;
      break;
   case 2:
      statement;
      break;
...
}

Перерывоператор переходит на следующую строку после оператора switch.

0 голосов
/ 18 ноября 2010

Если существует много высказываний ... вы также можете поместить в свою папку ресурсов файл .txt с многочисленными высказываниями (по одному на строку), прочитать его и отобразить высказывание из случайно сгенерированного номера строки.

Activity.getAssets().open("sayingsfile.txt");
0 голосов
/ 18 ноября 2010

Вы также можете попробовать что-то вроде

String[] sayings = {"Saying 1.", "Saying 2.", "Saying 3.", "Saying 4.", "Saying 5."};
int random = (int) Math.ceil(Math.random() * 5);
showToast(this, sayings[random]);

, и если у вас есть больше элементов, вы можете динамически подготовить массив строк перед использованием.

...