Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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 刽子手游戏寻找复制品_Java_Duplicates_Duplicate Removal - Fatal编程技术网

Java 刽子手游戏寻找复制品

Java 刽子手游戏寻找复制品,java,duplicates,duplicate-removal,Java,Duplicates,Duplicate Removal,到目前为止,我已经找到了它,找到单个字符,它甚至以大量的猜测结束,并向您显示猜测的单词。但我找不到复制品:(任何想法,伙计们。 这是我的密码 import java.util.*; public class Hangman { public static void main (String[] args) { String tempGuess; char blank = '_'; int amountOfGuesses = 0; Scanne

到目前为止,我已经找到了它,找到单个字符,它甚至以大量的猜测结束,并向您显示猜测的单词。但我找不到复制品:(任何想法,伙计们。 这是我的密码

import java.util.*;

public class Hangman
{
    public static void main (String[] args)
    {
    String tempGuess;
    char blank = '_';
    int amountOfGuesses = 0;


    Scanner k = new Scanner(System.in);
    System.out.print("Please Enter A Word : ");
    String guessWord = k.nextLine();
    char[] myArray = guessWord.toCharArray();
    for (int i = 0; i < guessWord.length(); i++)
    {
    myArray[i] = blank;
    }
    System.out.println(myArray);
    boolean whilerun = true;
    while (whilerun == true)
    {
        System.out.print("Please Guess A Letter : ");
        String guessLetter = k.nextLine();
        amountOfGuesses = amountOfGuesses + 1;
        int tempLG = guessWord.indexOf(guessLetter);

        if (tempLG == -1)
        {
            System.out.println("Character Not In  Word");
        }   
        else
        {


        myArray[tempLG] = guessWord.charAt(tempLG);

        }

       System.out.println(myArray);
       String tempGW = new String(myArray);
       if (tempGW.equalsIgnoreCase(guessWord))
       {
           whilerun = false;
       }

    }
    System.out.print("Well Done You Guessed The Word In " + amountOfGuesses + " trys.");

    }
}
import java.util.*;
公共级刽子手
{
公共静态void main(字符串[]args)
{
猜字符串;
char blank='";
int amountofguesss=0;
扫描仪k=新的扫描仪(System.in);
System.out.print(“请输入一个单词:”);
字符串猜测词=k.nextLine();
char[]myArray=guessWord.toCharArray();
for(int i=0;i

谢谢大家。

如果希望代码在重复条目时通知您,请将else语句更改为以下内容

 else {
      String val = String.valueOf(myArray);
      if(val.contains(guessLetter)) {
          System.out.println("Char already found");
      }
      myArray[tempLG] = guessWord.charAt(tempLG);
}
/* *图-Hangman.java,2013年11月18日下午6:08:55 * / 导入java.util

/** *班上的刽子手。 * *@作者Rajakrishna V.Reddy *@version 1.0 * */ 公共级刽子手 {

/**
*主要方法。
* 
*@param args
*争论
*/
公共静态void main(字符串[]args)
{
猜字符串;
char blank='";
int amountofguesss=0;
最终映射duplicateCharIndexMap=newHashMap();
扫描仪k=新的扫描仪(System.in);
System.out.print(“请输入一个单词:”);
字符串猜测词=k.nextLine();
char[]myArray=guessWord.toCharArray();
for(int i=0;i
}

package com.hangman;
导入java.util.HashMap;
导入java.util.Map;
导入java.util.Scanner;
公共级刽子手
{
/**
*主要方法。
* 
*@param args
*争论
*/
公共静态void main(字符串[]args)
{
猜字符串;
char blank='";
int amountofguesss=0;
最终映射duplicateCharIndexMap=newHashMap();
扫描仪k=新的扫描仪(System.in);
System.out.print(“请输入一个单词:”);
字符串猜测词=k.nextLine();
char[]myArray=guessWord.toCharArray();
for(int i=0;i
重复一些已经做出的猜测?你也可以发布整个问题吗?你的意思是,如果一个单词有两个P,而用户的猜测是P,程序将显示两个P而不是一个P?只需将重复的字母存储在地图中,并使用索引进行下一次搜索和替换。
/**
 * The main method.
 * 
 * @param args
 *            the arguments
 */
public static void main(String[] args)
{
    String tempGuess;
    char blank = '_';
    int amountOfGuesses = 0;
    final Map<String, Integer> duplicateCharIndexMap = new HashMap<String, Integer>();
    Scanner k = new Scanner(System.in);
    System.out.print("Please Enter A Word : ");
    String guessWord = k.nextLine();
    char[] myArray = guessWord.toCharArray();
    for (int i = 0; i < guessWord.length(); i++)
    {
        myArray[i] = blank;
    }
    System.out.println(myArray);
    boolean whilerun = true;
    while (whilerun)
    {
        System.out.print("Please Guess A Letter : ");
        String guessLetter = k.nextLine();
        amountOfGuesses = amountOfGuesses + 1;
        final int tempLG = guessWord.indexOf(guessLetter, duplicateCharIndexMap.get(guessLetter) == null ? 0
                : duplicateCharIndexMap.get(guessLetter));
        if (tempLG == -1)
        {
            System.out.println("Character Not In  Word");
        }
        else
        {
            duplicateCharIndexMap.put(guessLetter, tempLG + 1);
            myArray[tempLG] = guessWord.charAt(tempLG);
        }
        System.out.println(myArray);
        String tempGW = new String(myArray);
        if (tempGW.equalsIgnoreCase(guessWord))
        {
            whilerun = false;
        }

    }
    System.out.print("Well Done You Guessed The Word In " + amountOfGuesses + " trys.");
}
package com.hangman;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Hangman
{

    /**
     * The main method.
     * 
     * @param args
     *            the arguments
     */
    public static void main(String[] args)
    {
        String tempGuess;
        char blank = '_';
        int amountOfGuesses = 0;
        final Map<String, Integer> duplicateCharIndexMap = new HashMap<String, Integer>();
        Scanner k = new Scanner(System.in);
        System.out.print("Please Enter A Word : ");
        String guessWord = k.nextLine();
        char[] myArray = guessWord.toCharArray();
        for (int i = 0; i < guessWord.length(); i++)
        {
            myArray[i] = blank;
        }
        System.out.println(myArray);
        boolean whilerun = true;
        boolean duplicateFlag = false;
        while (whilerun)
        {
            duplicateFlag = true;
            System.out.print("Please Guess A Letter : ");
            String guessLetter = k.nextLine();
            amountOfGuesses = amountOfGuesses + 1;
            while (duplicateFlag)
            {
                final int tempLG = guessWord.indexOf(guessLetter, duplicateCharIndexMap.get(guessLetter) == null ? 0
                        : duplicateCharIndexMap.get(guessLetter));
                if (tempLG == -1)
                {
                    System.out.println("Character Not In  Word");
                    duplicateFlag = false;
                }
                else
                {
                    duplicateCharIndexMap.put(guessLetter, tempLG + 1);
                    myArray[tempLG] = guessWord.charAt(tempLG);
                }

            }

            System.out.println(myArray);
            String tempGW = new String(myArray);
            if (tempGW.equalsIgnoreCase(guessWord))
            {
                whilerun = false;
            }

        }
        System.out.print("Well Done You Guessed The Word In " + amountOfGuesses + " trys.");
    }
}