private Scanner in = new Scanner(System.in);
private String puzzle;
private String puzzleWord;
private int puzzleIndex;
private Random generator = new Random();
private boolean win;
private boolean over;
private String correct = "";
private char guesses[] = new char[26];
private int guessed;
private int misses;
private int again;
private String puzzles[] = new String[4];
This is all the code you use to define your Hangman object; the methods printBoard(), printGuesses(), init(), and miss() are not defined because you haven't defined them. Nowhere in your code do you state something like:
public void printBoard()
yet in your main method you make calls to the the printBoard() method as if it exists -- but you haven't made it yet! The program can't read your mind -- if you want it to print the board, you have to explicitly code what that means.
if(game.win)
{
System.out.println("You've won the game!");
}
else
String again(){
String again;
System.out.println("Would you like to play again? (Y/N)");
again = in.next();
if(again.charAt(0) == 'Y')
return "Yes";
else
return "No";
}
Why do you have return statements here? Firstly, the main method almost never returns anything (in fact, it is bad coding to have it return something). Secondly, even if returning values from the main method was okay, you have its return type as void -- meaning it can't return anything!
As for writing characters to a text file, I suggest a
FileWriter.