Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hangman程序:显示用户输入的猜测_Java_Bluej - Fatal编程技术网

Java Hangman程序:显示用户输入的猜测

Java Hangman程序:显示用户输入的猜测,java,bluej,Java,Bluej,我正在做一个刽子手项目,我需要一些帮助。 我想在终端窗口的右侧用bluej显示用户输入的所有猜测。我想将它存储在一个数组中,并在每次使用clearScreen()方法后将其始终显示在右侧。这是我的密码。请试一试 import java.io.*; public class Hangman { String word,clue; int option; PrintWriter p = new PrintWriter(System.out,true); private

我正在做一个刽子手项目,我需要一些帮助。 我想在终端窗口的右侧用bluej显示用户输入的所有猜测。我想将它存储在一个数组中,并在每次使用clearScreen()方法后将其始终显示在右侧。这是我的密码。请试一试

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);
    }
}
import java.io.*;
公共级刽子手
{
字串,线索;
int选项;
PrintWriter p=新的PrintWriter(System.out,true);
私有无效清除屏幕()
{
系统输出打印('\u000C');
}
公共空间1()
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|”);
p、 println(“|”);
p、 println(“|”);
p、 println(“|”);
p、 println(“|”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公共图书馆2(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“|”);
p、 println(“|”);
p、 println(“|”);
p、 println(“|”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公共图书馆3(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“|”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公众假期4(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“|/”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公众假期5(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“| |”);
p、 println(“|/\”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公共图书馆6(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“| |”);
p、 println(“|/|”);
p、 println(“| |”);
p、 println(“|/\”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公共图书馆7(
{
p、 println(“uuuuuuuuuuuuuuuuuuuuuuuuu”);
p、 println(“| |”);
p、 println(“|()”);
p、 println(“| |”);
p、 println(“|/|\\”);
p、 println(“| |”);
p、 println(“|/\”);
p、 println(“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;
}
公共字符串[]体育()
{
选项=(int)(Math.random()*10);
开关(选件)
{
案例0:
{
clue=“他是一名为西甲俱乐部巴塞罗那队效力的阿根廷球员,也是阿根廷国家队队长,主要以前锋身份踢球。”;
word=“L I O N E L | M E S I”;
}
打破
案例1:
{
clue=“第一个在ODIs中获得200分的人”;
word=“S A C H I N | T N D U L K A R”;
}
打破
案例2:
{
clue=“这是一项南亚团队运动。”;
word=“K A B A D I”;
}
打破
案例3:
{
clue=“这是一个双人棋盘游戏”;
word=“C H E S”;
}
打破
案例4:
{
clue=“这是一项团队运动,由六名队员组成的两队用网隔开。”;
word=“V O L E Y B A L”;
}
打破
案例5:
{
clue=“被称为‘墙’”;
word=“R A H U L | D R A V I D”;
}
打破
案例6:
{
clue=“世界乒乓球冠军”;
word=“Z H A N G | J I K E”;
}
打破
案例7:
{
clue=“一项著名的运动”;
word=“F O T B A L L”;
}
打破
案例8:
{
clue=“在被网隔开的硬板上玩”;
word=“T A B L E | T E N I S”;
}
打破
案例9:
{
clue=“国际象棋大师”;
word=“V I S H W A N A T A N | A N A N D”;
}
打破
}
返回新字符串[]{word,clue};
}
公共字符串[]电影()
{
选项=(int)(Math.random()*10);
开关(选件)
{
案例0:
{
clue=“丹尼尔·拉德克利夫主演的电影”;
word=“whe | wom A N | I N | B L A C K”;
}
打破
案例1:
{
clue=“这是一部2012年印度讽刺喜剧电影,讽刺由梅什·舒克拉导演的有组织的宗教”;
word=“O H | M Y | G O D”;
}
打破
案例2:
{
clue=“施瓦辛格扮演一个电子人刺客的角色,该刺客于2029年至1984年被及时派回来杀死莎拉·康纳”;
word=“T H E | T E R M I N A T R”;
}
打破
案例3:
{
clue=“这是一部关于两个孩子成为孩子的电影”;
word=“S P Y | K I D S”;
}
打破
案例4:
{
clue=“这部电影由杰森·斯塔瑟姆饰演弗兰克·马丁,一名雇佣司机——雇佣兵运输工具
public static void main(String args[]) throws IOException {
guesses += guessletter;
System.out.print(\u000method  clearScreen method Email..e for more