Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have a java code written that creates a guessing game. I am practically done b

ID: 658551 • Letter: I

Question

I have a java code written that creates a guessing game. I am practically done but I need to also include the best game played out of however many games the user played (so whatever the lowest amount of guess the player had in a game) but i can't figure out how to write that. My current code is below

import java.util.*; //so I can use scanner

public class GuessingGame {
public static void main(String[] args) {

Random rand = new Random ();
int max = 100;
Scanner input = new Scanner(System.in);
int guess;
boolean play = true;
int totalGames = 0;
int totalGuesses = 0;
while (play) { //repeats until user enters a statement besides y when asked to play again
  
System.out.println("I'm thinking of a number between 1 and " + max + "...");
int numberToGuess = rand.nextInt(max) + 1;
int numberOfTries = 0;
boolean win = false;
while (!win) {

System.out.print("Your guess? ");
guess = input.nextInt();
numberOfTries++;
  
if (guess == numberToGuess) {
win = true;
} else if (guess > numberToGuess) {
System.out.println("It's lower.");
} else if (guess < numberToGuess) {
System.out.println("It's higher.");
}
  
input.nextLine();
}
if (numberOfTries == 1) {
System.out.println("You got it right in " + numberOfTries + " guess!");
} else {
System.out.println("You got it right in " + numberOfTries + " guesses!");
}   
totalGames++;
totalGuesses+= numberOfTries;
System.out.print("Do you want to play again? ");

String answer = input.nextLine();
char firstLetter = answer.charAt(0);
if (firstLetter == 'y' || firstLetter == 'Y') {
play = true;
} else {
play = false;
}   
}
System.out.println("Overall results:");
System.out.println("Total games = " + totalGames);
System.out.println("Total guesses = " + totalGuesses);
System.out.println("Guesses/game = " + totalGuesses/totalGames);
System.out.println("Best game = ");
}
}

Explanation / Answer

public class GuessGame {
static Player p1;
static Player p2;
static Player p3;

public static void main(String[] args) {
startGame();
}
public static void startGame(){
p1 = new Player();
p2 = new Player();
p3 = new Player();

int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;

boolean p1isright = false;
boolean p2isright = false;
boolean p3isright = false;

int BrojKojiTrebaPogodit = (int)(Math.random() * 10);
System.out.println ("Razmisljam o broju izmedju 0 i 9 ... ");

while (true){
System.out.println ("Zamisljeni broj je " + BrojKojiTrebaPogodit);
p1.guess();
p2.guess();
p3.guess();

guessp1 = p1.number;
System.out.println ("Player P1 guessed " + guessp1);
guessp2 = p2.number;
System.out.println ("Player P2 guessed " + guessp2);
guessp3 = p3.number;
System.out.println ("Player P3 guessed " + guessp3);

if (guessp1 == BrojKojiTrebaPogodit){
p1isright = true;
}
if (guessp2 == BrojKojiTrebaPogodit){
p2isright = true;
}
if (guessp3 == BrojKojiTrebaPogodit){
p3isright = true;
}
if (p1isright || p2isright || p3isright) {
System.out.println ("We have winner!");
System.out.println ("Is P1 get " + p1isright);
System.out.println ("Is P2 get " + p2isright);
System.out.println ("Is P3 get " + p3isright);
System.out.println ("Game is over");
break;
}
else {
System.out.println ("Players will have to try again!");
}
}
}
}

class Player {
int number = 0;

public void guess() {
number = (int) (Math.random()*10);
System.out.println("I'm guessing " + number);
}
}