Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改字符串中的字符-替换字母java_Java - Fatal编程技术网

如何更改字符串中的字符-替换字母java

如何更改字符串中的字符-替换字母java,java,Java,模拟主题无法解决我的问题。 我需要将给定字符串中的字符'a'更改为'x' 示例:“abc”=“xbc”。我只允许使用substring(),charAt()-noreplace()方法 到目前为止,我的代码是: public static String ersetze(String text){ for(int i = 0; i<text.length(); i++){ if(text.substring(i, i+1).charAt(i) == 'a'){

模拟主题无法解决我的问题。 我需要将给定字符串中的字符
'a'
更改为
'x'

示例:“abc”=“xbc”。我只允许使用
substring(),charAt()
-no
replace()
方法

到目前为止,我的代码是:

public static String ersetze(String text){
    for(int i = 0; i<text.length(); i++){

        if(text.substring(i, i+1).charAt(i) == 'a'){
            text.substring(i, i+1) = 'x'; 
        }
    }
    //return statement
}
publicstaticstringersetze(字符串文本){
for(int i=0;i
String
是Java语言,因此不能替换字符串中的字母。您需要创建一个新字符串

您可以将字符串转换为字符数组并仅更改所需的字符,然后从此数组创建新字符串:

public static String ersetze(String text){
    char[] letters = text.toCharArray();

    for (int i = 0; i < letters.length; i++){
        if (letters[i] == 'a') {
            letters[i] = 'x';
        }
    }

    return new String(letters);
}
publicstaticstringersetze(字符串文本){
char[]字母=text.toCharArray();
for(int i=0;i
将字符串转换为字符数组(包含在java API中),迭代数组并将字符数组中的所有“a”替换为“x”,然后将其更改回字符串。

如果您确实需要此功能,并且仅限于您提到的方法,则每次找到请求的字符时都可以执行此操作:
text=text.substring(0,i)+x+text.substring(i+1);
字符串不能替换为字符。首先需要创建字符数组,然后替换

public static String ersetze(String text){
    char[] result = text.toCharArray();
    for(int i = 0; i < result.length; i++){
        if(result [i] == 'a'){
            result[i] = 'x';
        }
    }
    return String.valueOf(result);
}
publicstaticstringersetze(字符串文本){
char[]result=text.toCharArray();
for(int i=0;i
将字符串转换为字符数组并对其进行处理。然后将其转换回新字符串。用户提到他对API的使用有限制,否则他可以这样做。replaceAll()@顺便说一句,仅仅使用
charAt
substring
是不可能的。你至少需要
+
ToCharray
。StringBuilder与之相当。@Thilo,请检查下面我的答案,它使用
+
编辑了我的答案,使用字符数组对方法进行优先级排序。我不知道ToCharray()方法。效果很好,非常感谢。@junxi,不用担心!我只是想提一下,这种方法效率低下,会创建很多不必要的字符串,请不要在现实生活中这样做