Создание генератора случайных чисел в Java - просмотр num1 и num2, в каких случаях я бы использовал один из этих методов для создания случайного числа от 1 до 8? Является ли более эффективным, чем другие, любые другие преимущества?Java Math.abs random vs. nextInt()
import java.util.*;
public class Chpt3 {
public static void main(String[] args) {
Random rand = new Random();
int num1 = Math.abs(rand.nextInt()) % 8 + 1;
int num2 = rand.nextInt(8) + 1;
System.out.println(num1);
System.out.println(num2);
}
}
Поскольку вы хотите целое число в диапазоне [1, 9], вы должны использовать rand.nextInt, так как он лучше описывает ваши намерения. Если вы не знаете иначе, внутренние реализации более конкретных функций, как правило, лучше, чем составление их из существующих функций. Тем не менее, Java является скомпилированным языком и использует статический анализ, чтобы сделать многие из этих решений несущественными, канонизируя два шаблона Math.abs (Math.random) и random.nextInt в почти таком же выражении. – Dmitry