Тестирование генерации случайного int, двумя способами: с помощью класса Math и с помощью класса Random.
Собственно, ничего сложного, поэтому в пример я добавил еще работу с интерфейсами и абстрактными классами, вот пример:
import java.util.Random; public class Main { public static void main(String[] args) { RandomGeneratorInterface[] generators = new RandomGeneratorInterface[2]; generators[0] = new RandomGeneratorWithMathClass(); System.out.println( "Random generator version 1: " + generators[0].getTestResult(100, 1, 100) ); generators[1] = new RandomGeneratorWithRandomClass(); System.out.println( "Random generator version 2: " + generators[1].getTestResult(100, 1, 100) ); } } interface RandomGeneratorInterface { int getRandInt(int from, int to); String getTestResult(int n, int from, int to); } abstract class RandomGenerator implements RandomGeneratorInterface { abstract public int getRandInt(int from, int to); public String getTestResult(int n, int from, int to) { StringBuilder sb = new StringBuilder(); for (int i=0; i<10; i++) { int r = getRandInt(from, to); sb.append( ((r<10)?"0":"") + r +" " ); } return sb.toString(); } } class RandomGeneratorWithMathClass extends RandomGenerator { @Override public int getRandInt(int from, int to) { return from + (int) ( Math.random()*to ); } } class RandomGeneratorWithRandomClass extends RandomGenerator { @Override public int getRandInt(int from, int to) { return from + (new Random()).nextInt(to); } }
Результат работы:
Random generator version 1: 50 23 49 07 49 08 25 62 97 23 Random generator version 2: 05 21 05 80 55 92 73 33 07 30
Если же Вы пришли, просто скопипастить нужный метод, то вот метод который работает через класс Math:
public int getRandInt(int from, int to) { return from + (int) ( Math.random()*to ); }
а вот метод который работает через класс Random (обратите внимание, что в нем есть еще и другие методы, например для генерации вещественных чисел):
public int getRandInt(int from, int to) { return from + (new Random()).nextInt(to); }