0% found this document useful (0 votes)
30 views

Practical Lab Week 5

The objective of this lab is to practice exceptions and unit testing. The document provides code for a guessing game program that contains errors to be found and fixed using a debugger. The program allows a user to guess a randomly generated number between 1-6 within 5 attempts, and reports whether the user won or lost based on the number of correct guesses made within the attempt limit.

Uploaded by

eddy T
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Practical Lab Week 5

The objective of this lab is to practice exceptions and unit testing. The document provides code for a guessing game program that contains errors to be found and fixed using a debugger. The program allows a user to guess a randomly generated number between 1-6 within 5 attempts, and reports whether the user won or lost based on the number of correct guesses made within the attempt limit.

Uploaded by

eddy T
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Practical Lab Week 5

Objective: the objective of this lab is to practice exceptions, and unit testing.

1. Find the errors in the program below by using the debugger in your IDE and fix the errors.

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

public class GuessGame {

public static void main(String[] args) {

Random ranGen = new Random(8); // seeded to make debugging easier


final int sides = 6; // number of sides for a die
int userguess = -1; // user's guess, 1 - 6 inclusive
int rolled = -1; // number rolled, 1 - 6 inclusive
boolean rightGuess = false; // flag for correct guess
int numGuesses = 0; // counts the number of guesses

Scanner userInput = new Scanner(System.in);

System.out.println("Welcome to the Guess Game!");


System.out.println("If you guess the correct value in three or fewer
tries, you win; otherwise I win.");

// roll the die


rolled = ranGen.nextInt(sides+1);
System.out.println("The computer has rolled the die.");
System.out.println("You have five guesses.");

while (numGuesses < 5 || !rightGuess) {

// input & validation: must be in range 1 to 6 inclusive


do {
System.out.print("\nWhat is your guess [1-6]? ");

userguess = userInput.nextInt();

if ((userguess < 1) && (userguess > 6)) {


System.out.println(" Please enter a valid guess
[1-6]!");
}
} while (userguess < 1 || userguess > 6);

// did the user guess right?


if (rolled == userguess) {
System.out.println(" Correct!");
} else {
System.out.println(" Incorrect guess.");
}
numGuesses++;
}

if (rightGuess && numGuesses < 3) {


System.out.println("*** You win! ***");
} else {
System.out.println("*** You lose! ***");
}

userInput.close();
System.out.println("Thanks for playing the Guess Game!");
}

You might also like