package FinalProject; import java.util.Arrays; import java.util.Scanner; public class Hangman { public static void main(String[] args) { String[] words = {"football","java", "program", "awesome", "candy"}; int randomWordNumber = (int) (Math.random() * words.length); char[] enteredLetters = new char[words[randomWordNumber].length()]; int triesCount = 0; boolean wordIsGuessed = false; do { //string array for words in the game and it is randomized switch (enterLetter(words[randomWordNumber], enteredLetters)) { case 0: triesCount++; break; case 1: triesCount++; break; case 2: break; case 3: wordIsGuessed = true; break; } } while (! wordIsGuessed); System.out.println("\nThe word was: " + words[randomWordNumber] + " : Letters missed " + (triesCount -findEmptyPosition(enteredLetters)) + " times"); } //print out lines for directions public static int enterLetter(String word, char[] enteredLetters) { System.out.print("Guess a letter "); if (! printWord(word, enteredLetters)) return 3; System.out.print(" = "); Scanner input = new Scanner(System.in); int emptyPosition = findEmptyPosition(enteredLetters); char userInput = input.nextLine().charAt(0); if (inEnteredLetters(userInput, enteredLetters)) { System.out.println(userInput + " you already guessed it"); return 2; } else if (word.contains(String.valueOf(userInput))) { enteredLetters[emptyPosition] = userInput; return 1; } else { System.out.println(userInput + " nope, guess again"); return 0; } } //calculating if the letter is in the word or not public static boolean printWord(String word, char[] enteredLetters) { boolean asteriskPrinted = false; for (int i = 0; i < word.length(); i++) { char letter = word.charAt(i); if (inEnteredLetters(letter, enteredLetters)) System.out.print(letter); else { System.out.print('*'); asteriskPrinted = true; } } return asteriskPrinted; } public static boolean inEnteredLetters(char letter, char[] enteredLetters) { return new String(enteredLetters).contains(String.valueOf(letter)); } public static int findEmptyPosition(char[] enteredLetters) { int i = 0; while (enteredLetters[i] != '\u0000') i++; return i; } }