R
rn3rjd
Написал такой метод:
Он возвращает массив указанной размерности заполненный псевдослучайными числами в заданном диапазоне значений. Но мне кажется, что то я с логикой перехимичил, какой то уж больно громоздкий код, для простой задачи.. Раскритикуйте пожалуйста. Укажите на логические ошибки. Да и в целом, что в этом коде не так. Заранее спасибо всем, кто откликнется!
Java:
/*
* Создается массив заполненый случайными числами с указаным диапазоном значений
*/
package zadachi;
import java.util.Random;
public class CreateMassiv {
public static int [] createMassiv(int size, int from, int before) throws RuntimeException{
if (before < from){ // Если введен не верный диапазон значений бросить Exception
throw new RuntimeException("Invalid range of values!");
}
int[] massiv = new int [size]; // Инициализируем массив размерности size
Random rand = new Random (); // Создаем объект класса Random
for (int i = 0; i < size; i ++){
if (from < 0 && before < 0) { // Если диапазон в области отрицательных чисел
massiv [i] = rand.nextInt((Math.abs(from)- Math.abs(before)) + 1) - Math.abs(from);
}
if (from > 0 && before > 0){ // Если диапазон в области положительных чисел
massiv [i] = rand.nextInt(before - from + 1) + from;
}
if (from < 0 && before >= 0){ // Если диапазон от отрицательного числа до положительного или до ноля
massiv [i] = rand.nextInt(Math.abs(from)+before+1) - Math.abs(from);
}
}
return massiv;
}
}
Он возвращает массив указанной размерности заполненный псевдослучайными числами в заданном диапазоне значений. Но мне кажется, что то я с логикой перехимичил, какой то уж больно громоздкий код, для простой задачи.. Раскритикуйте пожалуйста. Укажите на логические ошибки. Да и в целом, что в этом коде не так. Заранее спасибо всем, кто откликнется!