使用for循环从字符串中删除元音

时间:2016-06-27 23:00:58

标签: java for-loop methods

  1. 为返回值声明一个字符串变量,并将其初始化为“”。
  2. 使用for循环迭代提供的字符串中的所有字符。
  3. 使用条件或开关语句检查字符是否为元音。
  4. 元音是'a','e','i','o'和'u',大写或小写。
  5. 如果是元音,则不执行任何操作,否则将字符添加到返回字符串中。
  6. 循环完成后,返回字符串。
  7. 这是我到目前为止所做的,我是新手,所以任何帮助都会受到赞赏。

    public static String removeVowels(String input) {
        String s = "";
        int f = 0;
    
    
        for(int i = 0; i < input.length(); i++){
    
            if(c == 'a'|c == 'e'|c == 'i'|c == 'o'|c =='u' | c == 'A' | c == 'E' | c == 'I' | c == 'O' | c == 'U')
                f = 1;
            else{
                s = s + i;
                f = 0;
            }
        }
        return s;
    }
    

2 个答案:

答案 0 :(得分:4)

使用for循环要求:

private static String removeVowels(String s) {
    if (s == null) {
        return null;
    }
    StringBuilder sb = new StringBuilder();
    Set<Character> vowels = new HashSet<Character>();
    vowels.add('a');
    vowels.add('A');
    vowels.add('e');
    vowels.add('E');
    vowels.add('i');
    vowels.add('I');
    vowels.add('o');
    vowels.add('O');
    vowels.add('u');
    vowels.add('U');
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        if (!vowels.contains(c)) {
            sb.append(c);
        }
    }
    return sb.toString();
}

你可以通过多种方式解决这个问题,但上述情况应该有效。

没有for循环要求:

public static String removeVowels(String input) {
    return input.replaceAll("[aAeEiIoOuU]","");
}

答案 1 :(得分:0)

public class RemoveVowels {

  public static void main (String [] args) {
    String str = "Hello Good Morning";
    String s1 = str.replaceAll("[AEIOUaeiou]" , "");

    System.out.println(s1);

  }
}