Write a program that simulates flipping a coin to make decisions. The input is how many decisions are needed, and the output is either heads or tails. Assume the input is a value greater than 0.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter5: Control Structures Ii (repetition)
Section: Chapter Questions
Problem 27PE
icon
Related questions
Question

Problem:

9.16 LAB: Flip a coin

 

Write a program that simulates flipping a coin to make decisions. The input is how many decisions are needed, and the output is either heads or tails. Assume the input is a value greater than 0.

Ex: If the input is:

3

the output is:

tails heads tails

For reproducibility needed for auto-grading, seed the program with a value of 2. In a real program, you would seed with the current time. In that case, every program's output would be different, which is what is desired but can't be auto-graded.

Note: A common student mistake is to create an instance of Random before each call to rand.nextInt(). But seeding should only be done once, at the start of the program, after which rand.nextInt() can be called any number of times. Also, rand.nextInt() must be used without arguments.

Your program must define and call the following method that randomly picks 0 or 1 and returns "heads" or "tails". Assume the value 0 represents "heads" and 1 represents "tails".
public static String headsOrTails(Random rand)

 

Java code:

import java.util.Scanner;
import java.util.Random;

public class LabProgram {

/* Define your method here */public static String headsOrTails(Randon rand) {
int rand = rand.nextInt(2);
if (rand==0) {
return "heads";
} else { 
return "tails";
}
}

public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
Random rand = new Random(2); // Unique seed
// Add more variables as needed

/* Type your code here. */Scanner scnr = new Scanner(System.in) {
int userNum=scnr.nextInt();

Random rand = new Random();

for (int i=0; i < userNum; ++i) {
System.out.println(headsOrTails(rand)); //I added userNum in the () & still got it wrong
}
}
}

My errors: 

Failed to compile
LabProgram.java:15: error: class, interface, or enum expected public static void main(String[] args) {
                       ^
LabProgram.java:17: error: class, interface, or enum expected Random rand = new Random(2); // Unique seed
^
LabProgram.java:20: error: class, interface, or enum expected /* Type your code here. */Scanner scnr = new Scanner(System.in) {                                       
                                         ^
LabProgram.java:23: error: class, interface, or enum expected Random rand = new Random();
^
LabProgram.java:25: error: class, interface, or enum expected
for (int i=0; i < userNum; ++i) {
^
LabProgram.java:25: error: class, interface, or enum expected
for (int i=0; i < userNum; ++i) {
                    ^
LabProgram.java:25: error: class, interface, or enum expected
for (int i=0; i < userNum; ++i) {
                                            ^
LabProgram.java:27: error: class, interface, or enum expected } ^
 
8 errors
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Returning value from Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr