-1

我正在制作一个刽子手游戏,并希望代码检查隐藏的单词是否在任何位置包含字母表中的任何字母。例如 charAt(0)、charAt(1) 等。一旦它检查了字母是否在单词中,我希望它为该字母设置相应的基础标签。

目前,我的代码如下:

if (SecretWord.charAt(0) == 'T') {
    Underline0.setText("T");
}
if (SecretWord.charAt(1) == 't') {
    Underline1.setText("t");
}
if (SecretWord.charAt(2) == 't') {
    Underline2.setText("t");
}
if (SecretWord.charAt(3) == 't') {
    Underline3.setText("t");
}

这可以完成这项工作,但它体积庞大,并且必须为所有字母进行复制和粘贴。

4

2 回答 2

2

您可以创建一个下划线对象数组,例如:

Label[] underlines = new Label[secretWord.length()];

我不知道您使用的是标签还是文本字段 -Label如果需要,您可以更改类型。然后你可以使用一个循环:

    for (int i=0; i<underlines.length; i++) {
        underlines[i] = new Label(String.valueOf(secretWord.charAt(i)));
    }

但这确实是基本的 Java - 你应该找一些书或在网上找到教程:书籍: http ://www.javaworld.com/article/2076338/in-search-of-the-best-java-book- for-beginners.html http://www.coderanch.com/t/627462/java/java/book-learning-java-beginner

教程:

http://www.learnjavaonline.org/ - 这里有一些基础知识。

http://docs.oracle.com/javase/tutorial/ - 这里有“官方”Oracle 教程。

这就是一个快速的Guoogle搜索。

另一件事——不要以大写字母开头你的变量名——这是违反约定的。大写字母保留用于类名。

于 2014-08-17T09:02:37.610 回答
1

以下内容可能会有所帮助:

put lables in an array names lblArray
...
if ((SecretWord.charAt(i) >= 'a' && SecretWord.charAt(i) <= 'z') || 
    (SecretWord.charAt(i) >= 'A' && SecretWord.charAt(i) <= 'Z')) {
    lblArray[i].setText(Character.toString(SecretWord.charAt(i)));
}
...

或者您可以使用字母字符的 ascii 代码。

于 2014-08-17T08:50:02.567 回答