0

在编写我的程序时,我遇到了另一个 nooby 路障。

if(StringTerm[0].equals("wikipedia"))
        {
            StringBuilder SearchTermBuilder = new StringBuilder();
            for(int i = 1; i < StringTerm.length; i++)
            {
                SearchTermBuilder.append(StringTerm[i] + " ");
            }
            // This is the string it outputs. 
            WIKI_ID = "Wikipedia";
            SearchTerm = SearchTermBuilder.toString();
            SearchTermFull = WikiBaseLinkReference.WIKI_WIK + SearchTermBuilder.toString();
        }

此代码检查来自控制台命令“/wiki”的输入,并检查单词“wiki”之后的第一个字符串是否与“wikipedia”匹配,如果是,它会构建一个字符串以匹配我想要它执行的操作。

这一切都很好,程序运行良好,但我希望用户能够使用不同的关键字来获得相同的结果。

例如:如果我输入 /wiki wikipedia,它的作用与 /wiki pediawiki 相同

如果我创建了一个名为 WIKIPEDIA 的不同名称的数组

public static String WIKIPEDIA[] = {"wikipedia","pediawiki"};

我如何告诉 if 语句检查输入的文本是否等于数组中的字符串之一?每次我尝试使用 || 或运营商它会给我一些错误。

提前致谢。

4

1 回答 1

1

您需要一个“any”版本:

public boolean any(String[] array, String s) {
    for(String value : array) {
        if(s.equals(value)) { return true; }
    }
    return false;
}

然后

if(any(WIKIPEDIA, "wikipedia")) {
}
于 2013-08-02T20:51:57.563 回答