检查字符串是否有辅音

时间:2016-02-28 02:19:41

标签: java contains indexof

我想编写一种方法,使用string.contains检查.indexOf 辅音

我想我可以做很长的路并检查字母表中的每个辅音,但我知道有更好的方法。这就是我到目前为止所做的事情,但我想我认为这是漫长的道路。

   public boolean containsConsonant(String searchString) {
        if(searchString.contains("b") || searchString.contains("c")){
            return true;
        }

3 个答案:

答案 0 :(得分:2)

我认为一个简单的 from matplotlib import pyplot as plt from matplotlib import animation fig = plt.figure() ax = plt.axes(xlim=(0, 2), ylim=(0, 100)) N = 3 lines = [plt.plot([], [])[0] for _ in range(N)] def init(): for line in lines: line.set_data([], []) return lines def animate(i): for j,line in enumerate(lines): line.set_data([0, 2], [10*j,i]) line.set_label('line %d, stage %d'%(j,i)) return lines anim = animation.FuncAnimation(fig, animate, init_func=init, frames=100, interval=20, blit=True) plt.show() 循环在这里是最可读的,你可以使用布尔值来测试一个字符在所需范围内。您可以使用或测试跳过元音。像,

for

优化

然后,您可以使用public boolean containsConsonant(String searchString) { if (searchString == null) { return false; } for (char ch : searchString.toCharArray()) { char lower = Character.toLowerCase(ch); if (lower >= 'a' && lower <= 'z') { if (lower == 'a' || lower == 'e' || lower == 'i' || lower == 'o' || lower == 'u') continue; return true; } } return false; } contains提取的常量String 优化上述(以及直接到您的问题) }}。像,

vowels

答案 1 :(得分:1)

你可以创建一个包含所有辅音的数组,然后使用循环运行它 e.g。

String[] consonants{"b", "c",....}
boolean containsConsonants(String searchString, String[]arr){
for (String consonant: arr){
    if(searchString.contains(str)){ return true} return False

答案 2 :(得分:1)

我发现您明确要求使用containsindexOf

以防万一 - 如果你可以使用matches - 它将非常容易实现。

public boolean containsConsonant(String searchString){
    String consonants = ".*[bcdfghj].*";  //list the characters to be checked
    return searchString.matches(consonants);
}