2016-06-27 3 views
0
  1. Объявите строковую переменную для возвращаемого значения и инициализируйте ее «".
  2. Используйте цикл for для перебора всех символов в прилагаемой строке.
  3. Используйте условный оператор или оператор switch, чтобы проверить, является ли символ гласным.
  4. Гласные - это «a», «e», «i», «o» и «u», прописные или строчные буквы.
  5. Если это гласный, ничего не делайте, иначе добавьте символ в возвращаемую строку.
  6. После того, как цикл завершен, верните строку.

Это то, что у меня есть до сих пор, я новичок в этом, поэтому любая помощь будет оценена по достоинству.Использование цикла for для удаления гласных из строки

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; 
} 
+1

Чтобы исправить текущий код, добавьте эту строку в цикле: 'символ с = input.charAt (I),' 'и заменить S = S + i; 'с' s = s + c; '(или' s + = c; '). В качестве побочного примечания в большинстве случаев предпочтительнее использовать '||' вместо '|'. И я не знаю, для чего 'f' (ваша IDE должна предупредить вас о том, что она не используется). – shmosel

ответ

3

С для требования петли:

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(); 
} 

Вы могли бы потенциально очень это в ряде направлений, но выше, должны работать.

Без для контура требования:

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

так хорошо, как это было бы, я должен был использовать цикл for – stgray

Смежные вопросы