2015-12-18 3 views
-4

Вместо того чтобы писать:передавая переменную из случайных чисел класса генератора

Random randomGenerator = new Random(); 
for (int idx = 5; idx <= 15; ++idx){ 
int randomInt = randomGenerator.nextInt(1); 

каждый раз, когда мне нужно случайное число в функции, можно ли просто передать или вызвать результат из класса генератора случайных чисел в функционировать?

Для примера, у меня есть одна функция, в частности, которая принимает переменные из другого класса

favoriteTracks(String fromExampleClass1, String fromExampleClass1again) 

я мог сделать

favoriteTracks(String fromExampleClass1, String fromExampleClass1again, Long fromRNGclass) 

разъяснений: Моя одна функция «favoriteTracks» требует переменных, переданных из "ExampleClass1". В то же время я хочу, чтобы он получал случайное число в качестве переменной (или называл его, в зависимости от того, что проще). генерируется в другом классе по

public static long randomNum(){ 
Random randomGenerator = new Random(); 
for (int idx = 5; idx <= 15; ++idx){ 
int randomInt = randomGenerator.nextInt(1); 
+0

Вы можете передать случайный объект, знаете ли. например 'favoriteTracks (String fromClass1, String fromClass1again, Random rand)'. Но я не уверен, что это то, о чем вы просите, или нет. – Draco18s

+0

Почему бы вам не создать отдельную функцию с этими тремя строками кода (и оператором return) и назвать это каждый раз, когда вам нужно случайное число? – MC10

ответ

1

Самый простой подход будет инкапсулировать поведение, которое вы хотите в одноточечного:

public class MyRandom { 

    public static final MyRandom myRandom = new MyRandom(); 

    private Random randomGenerator = new Random(); 

    public int makeRandom() { 

     // put your for loop here if you want, but it is not necessary 
     return 5 + randomGenerator.nextInt(11); 
    } 
} 

где-то еще ...

x = MyRandom.myRandom.makeRandom(); 

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

+0

Это хорошо, спасибо большое. но мне нужен случайный выбор числа от 5 до 15 – Zodzie

+0

Итак, для этого вы обычно генерируете число от 0 до 10, а затем добавляете пять. Обратите внимание, что параметр nextInt является исключительным (он возвращает число под ним как максимальное). – rghome

Смежные вопросы