Randomizer : Random : Development Class : Java examples (example source code) Organized by topic

Java
1. 2D Graphics GUI
2. 3D
3. Advanced Graphics
4. Ant
5. Apache Common
6. Chart
7. Collections Data Structure
8. Database SQL JDBC
9. Design Pattern
10. Development Class
11. Email
12. Event
13. File Input Output
14. Game
15. Hibernate
16. J2EE
17. J2ME
18. JSP
19. JSTL
20. Language Basics
21. Network Protocol
22. PDF RTF
23. Regular Expressions
24. Security
25. Servlets
26. Spring
27. Swing Components
28. Swing JFC
29. SWT JFace Eclipse
30. Threads
31. Tiny Application
32. Velocity
33. XML
Java Tutorial
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Java » Development Class » RandomScreenshots 
Randomizer

/*
 * Copyright (c) 2000 David Flanagan.  All rights reserved.
 * This code is from the book Java Examples in a Nutshell, 2nd Edition.
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.
 * You may study, use, and modify it for any non-commercial purpose.
 * You may distribute it non-commercially as long as you retain this notice.
 * For a commercial use license, or to purchase the book (recommended),
 * visit http://www.davidflanagan.com/javaexamples2.
 */

/**
 * This class defines methods for computing pseudo-random numbers, and defines
 * the state variable that needs to be maintained for use by those methods.
 */
public class Randomizer {
  // Carefully chosen constants from the book "Numerical Recipes in C".
  // All "static final" fields are constants.
  static final int m = 233280;

  static final int a = 9301;

  static final int c = 49297;

  // The state variable maintained by each Randomizer instance
  int seed = 1;

  /**
   * The constructor for the Randomizer() class. It must be passed some
   * arbitrary initial value or "seed" for its pseudo-randomness.
   */
  public Randomizer(int seed) {
    this.seed = seed;
  }

  /**
   * This method computes a pseudo-random number between 0 and 1 using a very
   * simple algorithm. Math.random() and java.util.Random are actually a lot
   * better at computing randomness.
   */
  public float randomFloat() {
    seed = (seed * a + c% m;
    return (floatMath.abs((floatseed / (floatm);
  }

  /**
   * This method computes a pseudo-random integer between 0 and specified
   * maximum. It uses randomFloat() above.
   */
  public int randomInt(int max) {
    return Math.round(max * randomFloat());
  }

  /**
   * This nested class is a simple test program: it prints 10 random ints.
   * Note how the Randomizer object is seeded using the current time.
   */
  public static void main(String[] args) {
      Randomizer r = new Randomizer((intnew java.util.Date().getTime());
      for (int i = 0; i < 10; i++)
        System.out.println(r.randomInt(100));

  }
}
           
       
Related examples in the same category
1. Does Math.random() produce 0.0 and 1.0
2. nextDouble() and nextGaussian() in java.util.Random
3. Generating random numbers
Home | Contact Us
Copyright 2003 - 07 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.