Как случайным образом выбрать, какой код следует запускать?

#java

#java

Вопрос:

Есть ли способ случайным образом выбрать, какой код должен выполняться, кроме того, как он у меня здесь? Должен быть более простой способ. Я знаю о переключателе и регистре, но не знал, могу ли я случайно иметь там регистр.

  Random r = new Random();
        int i = r.nextInt(4);

        if (i == 0) {
            //dosomething
        } else if (i == 1) {
           // dosomethingelse
        } else if(i == 2) {
            //dosomethingelse
        } else if(i == 3) {
            //dosomethingelse
        } else if(i == 4) {
            //dosomethingelse
        }
  

Ответ №1:

Ваш текущий код уже довольно оптимален, по крайней мере, для того, как вы могли бы сделать что-то подобное на Java. В качестве указателя вы могли бы переписать свою логику, чтобы использовать switch оператор, который, по крайней мере, немного облегчил бы чтение кода:

 Random r = new Random();
int i = r.nextInt(5);

switch(i) {
    case 0:
        // do something
        break;
    case 1:
        // do something else
        break;
    case 2:
        // do something else
        break;
    case 3:
        // do something else
        break;
    case 4:
        // do something else
        break;
}
  

Примечание: Если вы хотите сгенерировать случайное целое число от 0 до 4 (включая 4), затем используйте nextInt(5) . Использование nextInt(4) никогда не будет фактически генерировать значение 4.

Комментарии:

1. На самом деле я даже не понял, что с привязкой, спасибо. И хорошо, я не делал тонны с переключателями, поэтому выглядит хорошо. Спасибо