public void reveal(char c) {
for(int i = 0; i < sizeReset; i++) {
if(wordCompare.charAt(i) == c) revealed.set(i);
if(revealed.cardinality() == 0) {
eo.add(String.valueOf('*'));
}
else {
if(revealed.get(i) == true) {
eo.add(String.valueOf(wordCompare.charAt(i)));
}
else {
eo.add(String.valueOf('*'));
}
}
}
System.out.println(eo.toString());
jTextPane1.setText(eo.toString().replace("[", "").replace("]", "").replace(",", ""));
}
注追加数组列表中的字符。在特定位置
字符c - 表示字母被用户
透露进入 - 是一个声明为BitSet中
INT sizeReset - 是字的大小来猜测
假设ArrayList的EO = new ArrayList();在方法外声明。 (全球)
=========================================== ==
这是我到目前为止。假设我会猜测“香蕉”。用户输入的字母将被显示,其余的将被标记为“*”。
===========================================
问题:它将包含“”的整个值附加到arrayList中存储值的末尾,而不是我希望它们的特定位置(也包括“”)。只有用户输入的字母)。 * HANGMAN GAME的逻辑。
示例:
首字母输入: “A”
OUTPUT:
_a_a_a
进入第二个字母 “N”
OUTPUT:
_ _n_n_
(这是错误的)
正确的输出应该是:
_anana
======================= ========================
我是新来的字符串操作,我遇到了这个部分的麻烦。我已经阅读了一些关于StringBuilder的内容,但我还没有弄明白。如果你能帮助我,那将非常棒。提前致谢。 :)
这正是我正在寻找的。非常感谢,但是有没有办法保存这些空白空间?这是我的程序缺乏的唯一的东西。 –
可以通过编辑有关空格的小修改代码,让您省去一点时间吗?以便我可以将此标记为正确的答案。即使没有小的修改,它也是BTW,但如果你可以添加它,那将是非常好的。我对字符串操作非常陌生,我无法完全理解您提供的代码。我仍然在理解它。这也是为了也遇到同样问题的其他人的利益。再一次,在此先感谢:) –