如何在java中消除字符串中的元音?
我想消除字符串中的元音,我可以消除元音,但无法将它们返回到如何在java中消除字符串中的元音?,java,string,Java,String,我想消除字符串中的元音,我可以消除元音,但无法将它们返回到main()。我使用下面的代码得到了精确的输出 String string = "ajeIokluj"; String s = string.replaceAll("[aeiouAEIOU]",""); return s; 如果所需的输出来自for循环,那就太好了。考虑到无法返回语句,希望您已经编写了与下面类似的代码 public static void main(String[] args) { S
main()
。我使用下面的代码得到了精确的输出
String string = "ajeIokluj";
String s = string.replaceAll("[aeiouAEIOU]","");
return s;
如果所需的输出来自for循环,那就太好了。考虑到
无法返回
语句,希望您已经编写了与下面类似的代码
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();
}
公共静态字符串移除元音(最终字符串){
最后的字符串元音=“aaeeiiouu”;
最终StringBuilder=新StringBuilder();
for(最终字符c:string.toCharArray())
if(元音索引f(c)<0)
附加(c);
返回builder.toString();
}
公共类主{
公共静态字符串移除元音(字符串字){
字符串ret=“”;
字符串realRet=“”;
for(int i=0;i
试试这个,它可能对你有用 为什么要使用for循环而不是单个replaceAll函数?您已经使用了更好的技术,为什么要使用for循环?您所说的“但我未能将它们返回到main()”是什么意思?您得到了什么样的结果?您期望得到什么?这是如何不将正确的输出返回到main的?一切似乎都是正确的事实上,我尝试了在for循环中包含switch case,在这种情况下,我尝试将输出返回main(),但在控制台上生成的o/p是一个字母@PshemoI编码和你一样,我也得到了输出。我需要的是相同的输出,使用for循环。我已经更新了我的答案。虽然这不是推荐的方式。出于我的好奇,你能帮我理解为什么在这个场景中要使用for循环吗?我想使用for循环来提高我的编码技能。。。希望我的回答有帮助。万一你需要更多的帮助。请留下评论快乐学习
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);
}
}