多个索引处的字母

时间:2016-01-17 23:22:10

标签: java stringbuilder charat

所以我必须想到一个词,而计算机需要猜出这个词。 我做了一个来自A-Z的字母数组列表,如果字母在我想的那个字母中,计算机将随机选择一个字母。我必须输入te字母对应的de index。但是我怎么能把猜测的信件放在多个指数上。并且在和我删除猜测的信,所以计算机不能猜两次信。提示会有所帮助。

以下示例

Math.abs($('.hd-termometro').offset().top - $('.ft-termometro').offset().top);

示例:

    private int answer;
    private char randL;
    private int wrongA = 0; 
    private int randNum;
    private StringBuilder hiddenW = new StringBuilder("............");
    private boolean match;
    private Scanner sc;
    private ArrayList<Character> letters;

public void gameComputer() {
        for (int i = 0; i < 26; i++) { 
            ch = (char) ('A' + i);
            letters.add(ch);
        }

    while (wrongA < 10) {
        randNum = (int) (Math.random() * letters.size());
        randL = letters.get(randNum);
        System.out.println("De computer raadt een " + randL
                + ". Op welke plaats(en) staat die letter?");
        answer = sc.nextInt();

        for (int ii = 0; ii < hiddenW.length(); ii++) {
            if (answer > -1 && answer < 12) {
                hiddenW.setCharAt(answer, randL);
                match = true;
            }
         }
        if (answer == 100) {
            match = false;
        }
        if (match) {
            System.out.println(hiddenW);
            System.out.println("Aantal fouten: " + wrongA);
        }
        if (!match) {
            wrongA = wrongA + 1;
            System.out.println("Aantal fouten: " + wrongA);
        }
        if (wrongA == 10) {
            System.out.println("you lose computer");
            break;
        }

        letters.remove(randNum);
    }
}

1 个答案:

答案 0 :(得分:-1)

您需要逐个字符循环遍历整个单词,如果索引处的字符与输入的字符匹配,则需要替换它。

以下是一个例子。

public static void main(String[] args) {

        char letter = 'C';

        String word = "ACCEPT";

        StringBuilder guessedWord = new StringBuilder("------");

        for (int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == letter) {
                guessedWord.setCharAt(i, letter);
            }
        }

        System.out.println("Original word: "+ word + " - guessed word: "+ guessedWord.toString());


    }

原文:接受 - 猜到的字:-CC ---

以上是我的代码示例,与您的示例一起使用

public static void main(String[] args) {
    for (int i = 0; i < 26; i++) {
        char ch = (char) ('A' + i);
        letters.add(ch);
    }
    while (wrongA < 10) {
        match = false;
        randNum = (int) (Math.random() * letters.size());
        randL = letters.get(randNum);
        System.out.println("De computer raadt een " + randL);

        for (int i = 0; i < word.length(); i++) {
            if (word.charAt(i) == randL) {
                hiddenW.setCharAt(i, randL);
                letters.remove(randNum);
                match = true;
            }
        }


    if (match) {
        System.out.println(hiddenW);
        System.out.println("Aantal fouten: " + wrongA);
    }
    if (!match) {
        wrongA++;
        System.out.println("Aantal fouten: " + wrongA);
    }
    if (wrongA == 10) {
        System.out.println("you lose computer");
        break;
    }

    if (word.equals(hiddenW.toString())) {
        System.out.println("You win computer!");
        break;
    }

    }

}

出:

De computer raadt een X
Aantal fouten: 1
De computer raadt een P
....P.
Aantal fouten: 1
De computer raadt een L
Aantal fouten: 2
De computer raadt een G
Aantal fouten: 3
De computer raadt een I
Aantal fouten: 4
De computer raadt een N
Aantal fouten: 5
De computer raadt een S
Aantal fouten: 6
De computer raadt een F
Aantal fouten: 7
De computer raadt een T
....PT
Aantal fouten: 7
De computer raadt een N
Aantal fouten: 8
De computer raadt een J
Aantal fouten: 9
De computer raadt een D
Aantal fouten: 10
you lose computer


De computer raadt een V
Aantal fouten: 1
De computer raadt een D
Aantal fouten: 2
De computer raadt een S
Aantal fouten: 3
De computer raadt een K
Aantal fouten: 4
De computer raadt een F
Aantal fouten: 5
De computer raadt een S
Aantal fouten: 6
De computer raadt een Q
Aantal fouten: 7
De computer raadt een C
.CC...
Aantal fouten: 7
De computer raadt een U
Aantal fouten: 8
De computer raadt een H
Aantal fouten: 9
De computer raadt een U
Aantal fouten: 10
you lose computer