Java 初级刽子手小游戏
我正在做一个刽子手游戏,如果我猜错了单词中的字母,我会在标签上加上1不正确,但是当我猜对的时候,这个代码会在标签上加上1不正确。我怎样才能解决这个问题Java 初级刽子手小游戏,java,if-statement,settext,Java,If Statement,Settext,我正在做一个刽子手游戏,如果我猜错了单词中的字母,我会在标签上加上1不正确,但是当我猜对的时候,这个代码会在标签上加上1不正确。我怎样才能解决这个问题 public class Form extends javax.swing.JFrame { String FindWord = "apple"; int w = 0; } private void attemptSignActionPerformed(java.awt.event.ActionEvent evt) {
public class Form extends javax.swing.JFrame {
String FindWord = "apple";
int w = 0;
}
private void attemptSignActionPerformed(java.awt.event.ActionEvent evt) {
int charPos = 1;
String letter = aLetter.getText();
charPos = FindWord.indexOf(letter);
myMessage.setText("position is " + charPos);
if (charPos == 0) Char0.setText(letter);
if (charPos == 1) Char1.setText(letter);
if (charPos == 2) Char2.setText(letter);
if (charPos == 3) Char3.setText(letter);
if (charPos == 4) Char4.setText(letter);
if (charPos == 5) Char5.setText(letter);
charPos = FindWord.indexOf(letter, charPos + 1);
if (charPos == 0) Char0.setText(letter);
if (charPos == 1) Char1.setText(letter);
if (charPos == 2) Char2.setText(letter);
if (charPos == 3) Char3.setText(letter);
if (charPos == 4) Char4.setText(letter);
if (charPos == 5) Char5.setText(letter);
下面是我遇到麻烦的部分
if (charPos == -1) {
w++;
inCorrect.setText(Integer.toString(w));
}
}
当我猜字母不在单词“apple”中时,我只想在不正确的字母上加1。当你打电话时
charPos = FindWord.indexOf(letter, charPos + 1);
如果字母只出现一次,而不是两次,则将charPos
设置回-1
。你需要把它处理掉
或者
- 为字母的第二个位置使用不同的变量,或
- 将其写入循环,以允许该字母出现任意次数,或
- 或者设置一个布尔变量来指示是否找到了该字母;并使用它来确定是否将一个添加到
不正确的