2015-03-28 3 views
0

Я хочу исключить гласные из строки, я могу их устранить, но я не могу вернуть их main(). Я получил точный результат, используя следующий код.Как удалить гласные из строки в java?

String string = "ajeIokluj";  
String s = string.replaceAll("[aeiouAEIOU]",""); 
return s; 

Будет здорово, если требуемый выход поступает с использованием цикла.

+0

Зачем нужен цикл for вместо одной функции replaceAll? –

+0

вы уже использовали лучшую технику, зачем использовать for-loop? – Vihar

+2

Что вы подразумеваете под «но я не смог вернуть их в main()»? Какой результат вы получили и что вы ожидали? – Pshemo

ответ

0

Надеюсь, вы написали код, аналогичный приведенному ниже, с учетом вашего заявления fail to return.

public static void main(String[] args) { 
     String string = "ajeIokluj";  
     String s = eliminateVowels(string); 
     System.out.println(s); 
    } 

    private static String eliminateVowels(String string) { 
     String s = string.replaceAll("[aeiouAEIOU]",""); 
     return s; 
    } 

Если вы сделали это работает прекрасно, и если не использовать выше в качестве ссылки;)

на основе ваших комментариев, поскольку вы ищете конкретно с помощью for цикла (не рекомендуется), пожалуйста, найти код, приведенный ниже.

public static String removeVowels(final String string){ 
     final String vowels = "AaEeIiOoUu"; 
     final StringBuilder builder = new StringBuilder(); 
     for(final char c : string.toCharArray()) 
      if(vowels.indexOf(c) < 0) 
       builder.append(c); 
     return builder.toString(); 
    } 
+0

Я закодировал то же самое, что и вы, и я тоже получил выход. Мне нужен то же самое, что и для использования для цикла. – JavaJitendra

+0

Я обновил свой ответ. Хотя это не рекомендуется. Из моего любопытства вы можете помочь мне понять, почему вы хотите использовать цикл в этом сценарии? –

+0

Я хочу использовать цикл, чтобы улучшить свои навыки кодирования. – JavaJitendra

0
public class main { 
    public static String removeVowels(String word) { 
     String ret = ""; 
     String realRet = ""; 
     for (int i = 0; i < word.length(); i++) { 
      if ("aeiouAEIOU".indexOf(word.charAt(i)) == -1) { 
       ret += word.charAt(i); 
      } 
     } 
     realRet = realRet + ret.charAt(0) + ret.charAt(1); 
     return realRet.toLowerCase() ; 
    } 
    public static void main(String[] args) { 
     String pass = removeVowels("Your String"); 
     for(int i=0 ; i < 3; i++) { 
      pass = pass + (int) (Math.random() * 100) ; 
     } 

     System.out.println(pass); 
    } 
} 

Попробуйте это может работать вы !!