所以我有一个字符串数组(sConsonantArray)并且存储了所有辅音。
String[] sConsonantArray = new String[] {"q","w","r","t","p","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m"};
我需要检查单词的第二个最后一个值(sWord)是否等于数组中的值,我不知道如何调用数组中的每个值来比较除了执行sConsonantArray之外的字母[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"));
}
答案 0 :(得分:3)
在我看来,将辅音作为字符串然后使用charAt
会更简单:
private static final String CONSONANTS = "bcdfgh...z";
if (CONSONANTS.indexOf(word.charAt(word.length() - 2)) {
...
}
如果您确实想要使用数组,可以将数组更改为有序,然后调用Arrays.binarySearch
。另一种方法是创建HashSet<String>
辅音并使用contains
。
答案 1 :(得分:0)
尝试类似
的内容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;
}