gpt4 book ai didi

java - 如何用 Java 中的特殊字符替换元音字母?

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:10 26 4
gpt4 key购买 nike

public class ReplaceVowels {

public static void main(String args[]) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the String:");
String str = bf.readLine();

char[] c = new char[str.length()];
for (int i = 0; i < str.length(); i++) {

if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o'
|| c[i] == 'u') {

System.out.println(str.replace(c[i], '?'));

}

}

}
}

为什么 str.replace 方法不起作用?我应该怎么做才能让它发挥作用?

最佳答案

在您的代码中,您正在创建一个新的字符数组,其长度与您的字符串相同,但您没有使用任何值初始化该数组。

相反,尝试:

char[] c = str.toCharArray();

但是,这并不是您想要做的事情的最佳方式。您不需要字符数组或 if 语句来替换字符串中的字符:

String str = bf.readLine();
str.replace( 'a', '?' );
str.replace( 'e', '?' );
str.replace( 'i', '?' );
str.replace( 'o', '?' );
str.replace( 'u', '?' );
System.out.println( str );

replace 函数将替换它找到的任何(和所有)字符,或者如果该字符不存在于字符串中,它将不执行任何操作。

您可能还想研究使用 regular expressions (正如 edwga 的回答中所指出的),这样您就可以将这 5 个函数调用缩短为一个:

str.replaceAll( "[aeiou]", "?" );

关于java - 如何用 Java 中的特殊字符替换元音字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com