Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8740715
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T11:10:45+00:00 2026-06-13T11:10:45+00:00

I am working on a hangman project and I need a little help. I

  • 0

I am working on a hangman project and I need a little help.
I want to display all the guesses entered by the user on the right side of the terminal window in bluej. I want to store it in an array and constantly display it on the right side after every clearScreen() method. Here is my code. Please try it out.

import java.io.*;
public class Hangman
{
    String word,clue;
    int option;
    PrintWriter p = new PrintWriter(System.out,true);
    private void clearScreen()
    {
      System.out.print('\u000C');
    }
    public void Hang1()
    {
        p.println("      _______   ");
        p.println("     |       |");
        p.println("     |");
        p.println("     |");
        p.println("     |");
        p.println("     |");
        p.println("     |");
        p.println("_____|_____ ");
    }
    public void Hang2()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       ");
        p.println("     |");
        p.println("     |");
        p.println("     |");
        p.println("_____|_____ ");
    }
    public void Hang3()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |");
        p.println("_____|_____ ");
    }
    public void Hang4()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |      /");
        p.println("_____|_____ ");
    }
    public void Hang5()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |       |");
        p.println("     |      / \\");
        p.println("_____|_____ ");
    }
    public void Hang6()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       |");
        p.println("     |      /|");
        p.println("     |       |");
        p.println("     |      / \\");
        p.println("_____|_____ ");
    }
    public void Hang7()
    {
        p.println("      _______ ");
        p.println("     |       |");
        p.println("     |      ( )");
        p.println("     |       |");
        p.println("     |      /|\\");
        p.println("     |       |");
        p.println("     |      / \\");
        p.println("_____|_____ ");
    }
    public String[] Sports()
    {
        option = (int)(Math.random()*10);
        switch(option)
        {
            case 0:
            {
                clue = "He is an Argentine footballer who plays for La Liga club FC Barcelona and is the captain of the Argentina national team, playing mainly as a forward.";
                word = "L I O N E L | M E S S I";
            }
            break;
            case 1:
            {
                clue = "First person to score 200 in ODIs";
                word = "S A C H I N | T E N D U L K A R";
            }
            break;
            case 2:
            {
                clue = "It is a South Asian team sport.";
                word = "K A B A D D I";
            }
            break;
            case 3:
            {
                clue = "It is a two-player board game";
                word = "C H E S S";
            }
            break;
            case 4:
            {
                clue = "It is a team sport in which two teams of six players are separated by a net.";
                word = "V O L L E Y B A L L";
            }
            break;
            case 5:
            {
                clue = "Known as 'The wall'";
                word = "R A H U L | D R A V I D";
            }
            break;
            case 6:
            {
                clue = "World Table Tennis Champion";
                word = "Z H A N G | J I K E";
            }
            break;
            case 7:
            {
                clue = "A famous sport";
                word = "F O O T B A L L";
            }
            break;
            case 8:
            {
                clue = "Played on a hard board divided by a net";
                word = "T A B L E | T E N N I S";
            }
            break;
            case 9:
            {
                clue = "Grandmaster of chess";
                word = "V I S H W A N A T A N | A N A N D";
            }
            break;
        }
        return new String[] {word,clue};
    }
    public String[] Movies()
    {
        option = (int)(Math.random()*10);
        switch(option)
        {
            case 0:
            {
                clue = "Movie in which Daniel Radcliffe has acted";
                word = "T H E | W O M A N | I N | B L A C K";
            }
            break;
            case 1:
            {
                clue = "It is a 2012 Indian satirical comedy film that satires organized religion directed by Umesh Shukla";
                word = "O H | M Y | G O D";
            }
            break;
            case 2:
            {
                clue = "Schwarzenegger plays the role of a cyborg assassin sent back in time from the year 2029 to 1984 to kill Sarah Connor";
                word = "T H E | T E R M I N A T O R";
            }
            break;
            case 3:
            {
                clue = "It is a movie about 2 kids who become sspies";
                word = "S P Y | K I D S";
            }
            break;
            case 4:
            {
                clue = "This film stars Jason Statham as Frank Martin, a driver for hire – a mercenary transporter who will deliver anything, anywhere – no questions asked – for the right price";
                word = "T H E | T R A N S P O R T E R";
            }
            break;
            case 5:
            {
                clue = "This film tells the story of Jamal Malik, a young man from the Juhu slums of Mumbai who appears on the Indian version of Who Wants to Be a Millionaire?";
                word = "S L U M D O G | M I L L I O N A R E";
            }
            break;
            case 6:
            {
                clue = "Set during the Sierra Leone Civil War in 1996–2001, the film shows a country torn apart by the struggle between government soldiers and rebel forces";
                word = "B L O O D | D I A M O N D";
            }
            break;
            case 7:
            {
                clue = "This film stars Macaulay Culkin as Kevin McCallister, an eight-year-old boy, who is mistakenly left behind when his family flies to Paris for their Christmas vacation";
                word = "H O M E | A L O N E";
            }
            break;
            case 8:
            {
                clue = "This film follows Dominic Toretto, Brian O'Conner and Mia Toretto as they plan a heist to steal $100 million from corrupt businessman Hernan Reyes";
                word = "F A S T | F I V E";
            }
            break;
            case 9:
            {
                clue = "This film consists of many superheroes";
                word = "T H E | A V E N G E R S";
            }
            break;
        }
        return new String[] {word,clue};        
    }
    public String[] Computers()
    {
        option = (int)(Math.random()*10);
        switch(option)
        {
            case 0:
            {
                clue = "The brain of the computer";
                word = "C E N T R A L | P R O C E S S I N G | U N I T";
            }
            break;
            case 1:
            {
                clue = "Stores a real world 2d object in the form of a digital image";
                word = "S C A N N E R";
            }
            break;
            case 2:
            {
                clue = "A screen that displays output from a computer";
                word = "M O N I T O R";
            }
            break;
            case 3:
            {
                clue = "It is a family of computer networking technologies for LANs";
                word = "E T H E R N E T";
            }
            break;
            case 4:
            {
                clue = "It is a computer network that uses Internet Protocol technology to share information, operational systems, or computing services within an organization";
                word = "I N T R A N E T";
            }
            break;
            case 5:
            {
                clue = "It is an IDE for Java";
                word = "B L U E J";
            }
            break;
            case 6:
            {
                clue = "It is an application developed by Microsoft that is used for playing audio, video and viewing images";
                word = "W I N D O W S | M E D I A | P L A Y E R";
            }
            break;
            case 7:
            {
                clue = "It is a software application that provides comprehensive facilities to computer programmers for software development";
                word = "I N T E G R A T E D | D E V E L O P M E N T | E N V I R O N M E N T";
            }
            break;
            case 8:
            {
                clue = "It is a temporary form of computer data storage";
                word = "R A N D O M | A C C E S S | M E M O R Y";
            }
            break;
            case 9:
            {
                clue = "It is a digital circuit that performs arithmetic and logical operations.";
                word = "A R I T H M E T I C | A N D | L O G I C | U N I T";
            }
            break;
        }
        return new String[] {word,clue};        
    }
    public String[] Food()
    {
        option = (int)(Math.random()*10);
        switch(option)
        {
            case 0:
            {
                clue = "It is an Indian food cited as top ten tasty foods of the world";
                word = "M A S A L A | D O S A";
            }
            break;
            case 1:
            {
                clue = "A fruit which has the same name as its colour";
                word = "O R A N G E";
            }
            break;
            case 2:
            {
                clue = "It is an oven-baked, flat, round bread typically topped with a tomato sauce, cheese and various toppings";
                word = "P I Z Z A";
            }
            break;
            case 3:
            {
                clue = "It is a type of staple food made from some type of unleavened dough which is rolled flat and cut into long thin strips";
                word = "N O O D L E S";
            }
            break;
            case 4:
            {
                clue = "Sorry. No clue for this one";
                word = "P I N E A P P L E";
            }
            break;
            case 5:
            {
                clue = "A bun between which a patty is kept";
                word = "B U R G E R";
            }
            break;
            case 6:
            {
                clue = "It is a chat";
                word = "P A N I | P U R I";
            }
            break;
            case 7:
            {
                clue = "Is perfect for completing the idiom - As cool as a ______________";
                word = "C U C U M B E R";
            }
            break;
            case 8:
            {
                clue = "Consists of two or more slices of bread with fillings between them";
                word = "S A N D W I C H";
            }
            break;
            case 9:
            {
                clue = "Sorry. No clue for this one";
                word = "P A S T A";
            }
            break;
        }
        return new String[] {word,clue};        
    }
    public String[] Countries()
    {
        option = (int)(Math.random()*10);
        switch(option)
        {
            case 0:
            {
                clue = "Means 'Rich Coast' in Spanish";
                word = "C O S T A | R I C A";
            }
            break;
            case 1:
            {
                clue = "Sorry. No clue for this one";
                word = "I N D I A";
            }
            break;
            case 2:
            {
                clue = "T&T";
                word = "T R I N I D A D | A N D | T O B A G O";
            }
            break;
            case 3:
            {
                clue = "Consists of nearly one thousand islands";
                word = "S O L O M O N | I S L A N D S";
            }
            break;
            case 4:
            {
                clue = "It's capital is Riyadh";
                word = "S A U D I | A R A B I A";
            }
            break;
            case 5:
            {
                clue = "Lucky guy : You're getting a free letter : P";
                word = "T H E | P H I L I P P I N E S";
            }
            break;
            case 6:
            {
                clue = "The fastest man on Earth is from this country";
                word = "J A M A I C A";
            }
            break;
            case 7:
            {
                clue = "3 movies have been filmed using this country's name";
                word = "M A D A G A S C A R";
            }
            break;
            case 8:
            {
                clue = "Greatest world power";
                word = "U N I T E D | S T A T E S | O F | A M E R I C A";
            }
            break;
            case 9:
            {
                clue = "Lucky guy : You're getting a free letter : Y";
                word = "M A L A Y S I A";
            }
            break;
        }
        return new String[] {word,clue};
    }
    public static void main()throws IOException
    {
        Hangman obj = new Hangman();
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        PrintWriter p = new PrintWriter(System.out,true);
        p.println("Lets play HANGMAN");
        p.println();
        p.println("Enter your choice according to the following options.\nNOTE: Words are related to the topics given below.\n\n1. Sports\n2. Movies\n3. Computer\n4. Food\n5. Countries");
        p.println();
        int choice = Integer.parseInt(br.readLine());
        obj.clearScreen();
        String bothwordandclue[] = new String[2];
        if(choice == 1)
        bothwordandclue = obj.Sports();
        else if(choice == 2)
        bothwordandclue = obj.Movies();
        else if(choice == 3)
        bothwordandclue = obj.Computers();
        else if(choice == 4)
        bothwordandclue = obj.Food();
        else if(choice == 5)
        bothwordandclue = obj.Countries();
        else
        p.println("Wrong choice");
        int counter = 6;
        String guessword = bothwordandclue[0];
        String wordclue = bothwordandclue[1];
        int lengthofword = (int)(Math.round(((double)guessword.length()/2)));
        int checkguess = 0;
        String a;
        String guesses[] = new String[50];
        StringBuffer guessit = new StringBuffer();
        for (int i = 0;i<lengthofword;i++)
        guessit = guessit.append("_ ");
        guessit.delete((2 * lengthofword)-1,(2 * lengthofword));
        int index = guessword.indexOf("|");
        while(index >= 0)
        {
            guessit.setCharAt(index, '|');
            index = guessword.indexOf("|", index+1);// Start searching for next "|" after this index
        }
        p.println(guessit + "\t\t\t\t\t\t\t\t\t The letters you have entered so far");
        do
        {
            p.println();
            if(counter == 6)
            obj.Hang1();
            else if(counter == 5)
            obj.Hang2();
            else if(counter == 4)
            obj.Hang3();
            else if(counter == 3)
            obj.Hang4();
            else if(counter == 2)
            obj.Hang5();
            else if(counter == 1)
            obj.Hang6();
            p.println();
            p.println("Enter your guess letter");
            String guessletter2 = br.readLine();
            String guessletter = guessletter2.toUpperCase();
            obj.clearScreen();
            for(int i = 0;i<lengthofword;i++)
            {
                if(guessletter.charAt(0) == guessword.charAt(2*i))
                {
                    guessit.setCharAt(2*i,guessletter.charAt(0));
                    checkguess=1;
                }                
            }
            if(checkguess == 1)
            {
                p.println("Correct Guess. You have " + counter + " incorrect guesses left\t\t\t\t\t\t\t The letters you have entered so far");
                p.println(guessit);
            }
            else
            {
                counter--;
                if(counter == 0)
                {
                    p.println("Wrong guess. You hanged the man :(");
                    p.println(guessit);
                    obj.Hang7();
                }
                else
                {
                    p.println("Wrong guess. You have " + counter + " incorrect guesses left\t\t\t\t\t\t\t\t\t The letters you have entered so far");
                    p.println(guessit);
                }
            }
            checkguess = 0;
            if(counter == 0)
            p.println("\nSorry you lost the game\n\nThe correct word is " + guessword);
            a = guessit.toString();
            if(a.equals(guessword))
            {
                p.println("You guessed the word!!!!!");
                counter=0;
            }        
        }while(counter>0);
    }
}

Thanks in advance

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T11:10:46+00:00Added an answer on June 13, 2026 at 11:10 am

    Your main() is missing the String array args, it should be :

    public static void main(String args[]) throws IOException {
    

    add that in and it will run.

    Also, you are not storing your guess letter and not printing it out, so it’s not being displayed. To fix this, change your guesses String array to a simple String and just after you do uppercase on guessletter add this line:

    guesses += guessletter;
    

    then after each println() that says ‘The letters you have entered so far’ print out the guesses String. This will then display the list of guessed letters.

    We all start somewhere, your code reminds me of the first stuff I wrote 30 years ago. Once it is all working take a look at your code and figure out what can be improved.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Working on pure-ruby implementation of XCode project file parser, PBXProject , and need little
I am working on a hangman program and I want to output a status
Working on an old Kohana 2 project and I want to link two models.
Working on a project where I need to add points to an array. Here
I need to write hangman game, when you guess letters, in Hebrew. All is
Working in C#, I need to find all local peaks in a List of
I'm working on a Python version of hangman that works off of a .txt
Working on the problems on Project Euler to try to learn Clojure. I'm on
For a class project, we have to create a hangman game in Java (we're
Working on calling a C function from my asm project. I'm trying to push

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.