From a7e8e23da38ddfe09eab0ab63b9257bb18f2d7a1 Mon Sep 17 00:00:00 2001 From: Peter McCormick Date: Wed, 7 Feb 2018 18:01:45 -0500 Subject: [PATCH 1/2] Many loops within loops...Runs except for consectuive numbers are still tracked --- src/main/java/Main.java | 56 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 05e41a9..95692bd 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,9 +1,61 @@ +import java.util.Random; +import java.util.Scanner; + /** * Created by iyasuwatts on 10/17/17. */ public class Main { - public static void main(String[] args){ - + public static void main(String[] args) { + + boolean keepGuessing = true; + int min = getIntegerInput("Give an integer for the desired minimum value of a range:"); + int max = getIntegerInput("Give an integer for the desired maximum value of a range:"); + + + if (min >= max) { + + max = getIntegerInput("Give a higher number than your previous value: "); + + } else { + int guessedNumber = getIntegerInput("Guess a number between: " + min + " & " + max); + + Random rand = new Random(); + int randomNumber = rand.nextInt(max) + min; + + int guessCount = 0; + + + + while (keepGuessing) { + + if(guessedNumber == randomNumber) { + guessCount++; + keepGuessing = false; + + }else if (guessedNumber < randomNumber) { + guessCount++; + System.out.println("Your guess is too low!!!"); + guessedNumber = getIntegerInput("Guess a number between: " + min + " & " + max); + + }else if (guessedNumber > randomNumber) { + guessCount++; + System.out.print("Your guess is too high!!!"); + guessedNumber = getIntegerInput("Guess a number between: " + min + " & " + max); + } + + } + + System.out.println + ("You guessed the random number : " + randomNumber + ". It took you: " + guessCount + " tries"); + } } + + public static Integer getIntegerInput(String prompt) { + Scanner scanner = new Scanner(System.in); + System.out.println(prompt); + String userInput = scanner.nextLine(); + int intUserInput = Integer.parseInt(userInput); + return intUserInput; + } } From 4cc91f9028cbec77be39d75425a6d63d9b4b4003 Mon Sep 17 00:00:00 2001 From: Peter McCormick Date: Thu, 15 Feb 2018 16:02:10 -0500 Subject: [PATCH 2/2] Added an else if for if the previous guess is the same as the current guess. This will not count the guess. --- src/main/java/Main.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 95692bd..92a9ac4 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -24,7 +24,7 @@ public static void main(String[] args) { int randomNumber = rand.nextInt(max) + min; int guessCount = 0; - + int prevGuessedNumber= 0; while (keepGuessing) { @@ -33,15 +33,20 @@ public static void main(String[] args) { guessCount++; keepGuessing = false; - }else if (guessedNumber < randomNumber) { + }else if (guessedNumber < randomNumber && guessedNumber != prevGuessedNumber) { guessCount++; + prevGuessedNumber = guessedNumber; System.out.println("Your guess is too low!!!"); guessedNumber = getIntegerInput("Guess a number between: " + min + " & " + max); - }else if (guessedNumber > randomNumber) { + }else if (guessedNumber > randomNumber && guessedNumber != prevGuessedNumber) { guessCount++; + prevGuessedNumber = guessedNumber; System.out.print("Your guess is too high!!!"); guessedNumber = getIntegerInput("Guess a number between: " + min + " & " + max); + }else if (guessedNumber == prevGuessedNumber){ + System.out.print("You have just guessed this value, please choose another value for your guess."); + guessedNumber = getIntegerInput("\n" + "Guess a number between: " + min + " & " + max); } } @@ -58,4 +63,4 @@ public static Integer getIntegerInput(String prompt) { int intUserInput = Integer.parseInt(userInput); return intUserInput; } -} +} \ No newline at end of file