KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > speedo > Alea


1 /**
2  * Copyright (C) 2001-2004 France Telecom R&D
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */

18 package org.objectweb.speedo;
19
20 import java.util.*;
21
22 /**
23  * Generate random number and string.
24  *
25  */

26 final public class Alea {
27
28     private static Random rn = new Random();
29
30     private Alea() {
31     }
32
33     public static int rand(int lo, int hi) {
34         int n = hi - lo + 1;
35         int i = rn.nextInt() % n;
36         if (i < 0)
37             i = -i;
38         return lo + i;
39     }
40
41     public static String JavaDoc randomstring(int lo, int hi) {
42         int n = rand(lo, hi);
43         byte b[] = new byte[n];
44         for (int i = 0; i < n; i++)
45             b[i] = (byte) rand('a', 'z');
46         return new String JavaDoc(b, 0, 0, b.length);
47     }
48
49     public static String JavaDoc randomstring() {
50         return randomstring(5, 25);
51     }
52 }
53
Popular Tags