Basically, what this program does is that this generates a random number, and asks the user to guess it with multiple chances. So, if the user is close, it says that the user is close, and if the user is not close, then it says that the user is too high/low and if the user guesses it right, it congratulates the user.
So, you must now be wondering what I expect from this code review. Well I expect these stuff:
- I expect you to point out flaws
- I expect you to identify spots which are inefficient and can be optimised.
- I expect you to comment on the use of concepts and how I have not used them right.
Main.java:
package com.GuessMyNumber;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
GuessMyNumber guessMyNumber = new GuessMyNumber();
Scanner scanner = new Scanner(System.in);
int input;
guessMyNumber.generateNumber(1, 75);
System.out.println("Hey there! Let's play Guess my number! Start guessing my number once you're ready.");
while (!guessMyNumber.numberFound) {
input = Integer.parseInt(scanner.next());
System.out.println(guessMyNumber.validateInput(input));
}
}
}
GuessMyNumber.java:
package com.GuessMyNumber;
import java.util.Random;
public class GuessMyNumber {
int randomNumber;
String response;
boolean numberFound = false;
public GuessMyNumber()
{
}
public int generateNumber(int min, int max)
{
Random random = new Random();
this.randomNumber = random.nextInt((max - min) + 1) + min;
return this.randomNumber;
}
public String validateInput(int guessedNumber)
{
if(guessedNumber < this.randomNumber && (this.randomNumber - guessedNumber) < 5) {
this.response = "You're close!";
}
if(guessedNumber < this.randomNumber && (this.randomNumber - guessedNumber) > 5) {
this.response = "You're too low!";
}
if(guessedNumber > this.randomNumber && (guessedNumber - this.randomNumber) < 5) {
this.response = "You're close!";
}
if(guessedNumber > this.randomNumber && (guessedNumber - this.randomNumber) > 5) {
this.response = "You're too high!";
}
if(guessedNumber == this.randomNumber) {
this.response = "Congratulations! You guessed my number!";
this.numberFound = true;
}
return this.response;
}
}