I have created two games and now I am working on menu It should run each game after user selected each of them
Menu Must look like this:
Hello! Type ‘letter’ or ‘number’ to choose game
Heres first game:
import java.util.Scanner; public class GuessTheNumber { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String playAgain = ""; System.out.println("Guess a number between 1 and 100:"); int theNumber = (int)(Math.random() * 100 + 1); int numberOfTries = 0; int guess = 0; while (guess != theNumber) { guess = scan.nextInt(); numberOfTries = numberOfTries + 1; if (guess < theNumber) System.out.println(guess + " is too low. Try again."); else if (guess > theNumber) System.out.println(guess + " is too high. Try again."); else { System.out.println(guess + " is correct. You win!"); System.out.println("It only took you " + numberOfTries + " tries! Good work!"); } } System.out.println("Would you like to play again (y/n)?"); playAgain = scan.next(); while (playAgain.equalsIgnoreCase("y")); System.out.println("Thank you for playing! Goodbye."); scan.close(); } }
Heres the second
import java.util.Scanner; public class GuessTheLetter { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String playAgain = ""; int numberOfTries = 0; do { System.out.println("Guess the Letter"); char randomLetter = (char) (Math.random() * 26 + 65); char enteredLetter = 0; while(true){ enteredLetter = Character.toUpperCase(scan.next().charAt(0)); numberOfTries = numberOfTries + 1; if(enteredLetter==randomLetter) { System.out.println("Correct Guess"); System.out.println("The letter is:"+randomLetter); System.out.println("It only took you " + numberOfTries + " tries! Good work!"); break; } else if(enteredLetter>randomLetter) { System.out.println("Incorrect Guess"); System.out.println("The letter entered is too high"); } else if(enteredLetter<randomLetter) { System.out.println("Incorrect Guess"); System.out.println("The letter entered is too low"); } } System.out.println("Would you like to play again (y/n)?"); playAgain = scan.next(); } while (playAgain.equalsIgnoreCase("y")); System.out.println("Thank you for playing! Goodbye."); scan.close(); }}
Must i use multiple classes, or put everything into 1, how can i combine theese two games in one?
Answer
You can put each game into one function and then just call them in the main of that class. You do not need 2 classes for this. You can also add a condition that would decide which function to call.