Java 如何将字符串值与数组中的每个元素进行比较?
所以我有一个字符串数组(sconsonatarray)并将所有辅音存储在其中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](一次检查每个字母)。我正在寻找一种
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库实现多元化: