Generating Random Numbers in Java: A Comprehensive Guide - Prof. Martin Stepp, Study notes of Linux skills

An in-depth exploration of java's random class, which generates pseudo-random numbers. It covers various methods like nextint(), nextdouble(), and their usage to generate random numbers within specific ranges. Examples and exercises are included to help students understand the concepts.

Typology: Study notes

Pre 2010

Uploaded on 12/08/2010

arturq32
arturq32 🇺🇸

1 document

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Copyright 2008 by Pearson Education
1
Building Java Programs
Chapter 5
Lecture 5-2: Random Numbers
reading: 5.1 - 5.2
self-check: #8 - 17
exercises: #3 - 6, 10, 12
videos: Ch. 5 #1-2
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Generating Random Numbers in Java: A Comprehensive Guide - Prof. Martin Stepp and more Study notes Linux skills in PDF only on Docsity!

Copyright 2008 by Pearson Education

Building Java Programs

Chapter 5

Lecture 5-2: Random Numbers

reading: 5.1 - 5.2 self-check: #8 - 17

exercises: #3 - 6, 10, 12

videos: Ch. 5 #1-

Copyright 2008 by Pearson Education

The

Random

class

^

A^

Random

object generates pseudo-random* numbers.

^

Class

Random

is found in the

java.util

package.

import java.util.*;

^

Example: Random rand = new Random();int randomNumber =

rand.nextInt(10)

;^

// 0-

Method name

Description

nextInt()

returns a random integer

nextInt(

max

)^

returns a random integer in the range [0,

max

)

in other words, 0 to

max

-1 inclusive

nextDouble()

returns a random real number in the range [0.0, 1.0)

Copyright 2008 by Pearson Education

Random

questions

^

Given the following declaration, how would you get:

Random rand = new Random();

^

A random number between 1 and 100 inclusive? int random1 = rand.nextInt(100) + 1;

^

A random number between 50 and 100 inclusive? int random2 = rand.nextInt(51) + 50;

^

A random number between 4 and 17 inclusive? int random3 = rand.nextInt(14) + 4;

Copyright 2008 by Pearson Education

Random

and other types

^

nextDouble

method returns a

double

between 0.0 - 1.

^

Example: Get a random GPA value between 1.5 and 4.0: double randomGpa =

rand.nextDouble()

  • 2.5 + 1.5;

^

Any set of possible values can be mapped to integers^ 

code to randomly play Rock-Paper-Scissors:^ int r = rand.nextInt(3);if (r == 0) {

System.out.println("Rock"); } else if (r == 1) {

System.out.println("Paper"); } else {

System.out.println("Scissors"); }

Copyright 2008 by Pearson Education

Random

answer

// Rolls two dice
until a sum of
7 is reached.
import
java.util.*;
public
class Dice
public
static
void
main(String[] args)
Random rand =
new Random();
int
tries
int
sum =
while (sum !=
// roll the dice
once
int roll
= rand.nextInt(6)
int roll
= rand.nextInt(6)
sum =
roll1 + roll2;
System.out.println(roll1 +
+ roll2 +
+ sum);
tries++;
} System.out.println("You
won after "
+ tries +
tries!");

Copyright 2008 by Pearson Education

Random

question

^

Write a multiplication tutor program.^ 

Ask user to solve problems with random numbersfrom 1-20.  The program stops after an incorrect answer. 14 * 8 =

^112

Correct!5 * 12 =

^60

Correct!8 * 3 =

^24

Correct!5 * 5 =

^25

Correct!20 * 14 =

^280

Correct!19 * 14 =

^256

Incorrect; the answer was 266You solved 5 correctly

Copyright 2008 by Pearson Education

Random

answer 2

... // Asks the user one multiplication problem,// returning the answer if they get it right and 0 if not. public static int askQuestion(Scanner console, Random rand) {

// pick two random numbers between 1 and 20 inclusive int num1 = rand.nextInt(20) +

int num2 = rand.nextInt(20) +

System.out.print(num1 + " * "

  • num2 + " = ");

int guess = console.nextInt();if (guess == num

  • num2) {

System.out.println("Correct!");return num1 *

num2;

} else {

System.out.println("Incorrect; the correct answer

was " +

(num1 * num2));

return 0; } } }