Java 如何将字符串值与数组中的每个元素进行比较?

Java 如何将字符串值与数组中的每个元素进行比较?,java,arrays,Java,Arrays,所以我有一个字符串数组(sconsonatarray)并将所有辅音存储在其中 String[] sConsonantArray = new String[] {"q","w","r","t","p","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"}; 我需要检查单词(剑)的倒数第二个值是否等于数组中的值,我不知道如何调用数组中的每个值来比较字母,除了执行sconsonatarray[5](一次检查每个字母)。我正在寻找一种

所以我有一个字符串数组(sconsonatarray)并将所有辅音存储在其中

String[] sConsonantArray = new String[] {"q","w","r","t","p","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"};
我需要检查单词(剑)的倒数第二个值是否等于数组中的值,我不知道如何调用数组中的每个值来比较字母,除了执行sconsonatarray[5](一次检查每个字母)。我正在寻找一种更简单的方式给他们打电话,谢谢你的帮助。此外,&&&)操作员似乎无法工作,其他建议将不胜感激

else if (sWord.substring(sWord.length()-2,sWord.length()-1).equals(sConsonantArray I DONT KNOW WHAT TO PUT HERE)) && (sWord.substring(sWord.length()-1,sWord.length()).equalsIgnoreCase("o"))

{
    System.out.println("The plural of " + sWord + " is " + (sWord + "es"));
}
试试像这样的东西

else if (Arrays.asList(sConsonantArray).contains(
     sWord.substring(sWord.length()-2,sWord.length()-1)) 
         &&  (sWord.substring(sWord.length()-1,sWord.length()).equalsIgnoreCase("o"))) {

        // do something
  }
或者编写一个小的Util方法

public static boolean isInConstants(String yourString){
String[] sConsonantArray = new String[] {"q","w...}
for (String item : sConsonantArray) {
    if (yourString.equalsIgnoreCase(item)) {
        return true;

    } 
}
 return false;

}

在我看来,将辅音作为字符串,然后使用
charAt
,会更简单:

private static final String CONSONANTS = "bcdfgh...z";

if (CONSONANTS.indexOf(word.charAt(word.length() - 2)) {
    ...
}

如果确实要使用数组,可以将数组更改为有序,然后调用
Arrays.binarySearch
。另一种选择是创建一个辅音的
哈希集
,并在其上使用
contains

您丢失了一个字母。我只数20。共有21个辅音,“我需要帮助,…”嗯哼!在一个问答网站的帖子标题上加上这似乎是一件特别无聊的事情,“.谢谢”这只是噪音。不要在将来的任务中使用它们。除非您的目标是教育,否则此链接可能会帮助您准备使用Java库实现多元化: