我正忙着一个刽子手应用程序,我已经到了我现在必须显示秘密词的地步......现在我正在考虑创建两个字符串原始的,从一个单词中检索一个随机单词文本文件和隐藏的秘密词...问题是我不知道如何隐藏' - '
中的单词所以我创建了以下两个字符串
String original = readWord();
String secret = new String(new char[original.length()]).replace('\0', '-');
现在我的想法是在原始字符串中找到char的位置,然后用秘密字符串中的char替换' - '
现在的问题是我原来的单词是例如“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个位置?
答案 0 :(得分:3)
由于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()作为掩码词,直到您选择了一个新词。当你得到一个新单词时,你会将掩盖的单词重置为'-------'
等。
答案 1 :(得分:0)
你可以使用
String Str = new String(&#34;欢迎使用Tutorialspoint.com&#34;);
//所有出现的&#39; o&#39;被替换为&#39; T&#39;
System.out.println(Str.replace(&#39; o&#39;,&#39; T&#39;));