gpt4 book ai didi

java - 根据循环中的位置替换字符

转载 作者:行者123 更新时间:2023-12-02 00:13:58 24 4
gpt4 key购买 nike

我正忙于一个刽子手应用程序,现在我必须显示 secret 单词...现在我正在考虑创建两个字符串,从原始字符串中检索随机单词文本文件和隐藏的 secret 单词...问题是我不知道如何隐藏“-”中的单词

所以我创建了以下两个字符串

String original = readWord();
String secret = new String(new char[original.length()]).replace('\0', '-');

现在我的想法是找到原始字符串中字符的位置,然后用 secret 字符串中的该字符替换“-”

现在的问题是,当我的原始单词是“elephant”时,所以我找到了一个循环来查找搜索的字符的位置

String s = "elephant";
int pos = s.indexOf('e');
while (pos > -1) {
System.out.println(pos);
pos = s.indexOf('e', pos + 1);

现在这个循环返回

0
2

我的问题是,如果返回的位置超过 1 个,如何使用此循环替换 secret 字符串中的“-”?

最佳答案

由于 String 是不可变的,因此您可以使用 StringBuilder 构建新字符串:

StringBuilder builder = new StringBuilder(secret);
for (int i = 0; i < original.length(); i++) {
if (original.charAt(i) == guessLetter) {
builder.setCharAt(i, guessLetter);
}
}
secret = builder.toString();

您将使用 builder.toString() 作为屏蔽词,直到您选择一个新词。当您获得新单词时,您会将屏蔽单词重置为 '--------' 等。

关于java - 根据循环中的位置替换字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com