Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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_String - Fatal编程技术网

Java字符串替换问题

Java字符串替换问题,java,string,Java,String,我有一段代码,其中我对Java字符串使用了replace方法,但它不起作用。。请指出错误 static String[] cavityMap(String[] grid) { String[] ans = grid; for(int i = 1; i<= grid.length-2; i++){ for(int j = 1; j<= grid[i].length()-2; j++){ int e = Integer.parseI

我有一段代码,其中我对Java字符串使用了replace方法,但它不起作用。。请指出错误

static String[] cavityMap(String[] grid) {
    String[] ans = grid;
    for(int i = 1; i<= grid.length-2; i++){
        for(int j = 1; j<= grid[i].length()-2; j++){
            int e = Integer.parseInt(grid[i].charAt(j) + "");
            int t = Integer.parseInt(grid[i - 1].charAt(j) + "");
            int b = Integer.parseInt(grid[i + 1].charAt(j) + "");
            int l = Integer.parseInt(grid[i].charAt(j - 1) + "");
            int r = Integer.parseInt(grid[i].charAt(j + 1) + "");
        if(e > t && e > b && e > l && e > r){
            ans[i] = ans[i].replace("X",(ans[i].charAt(j) + ""));
            System.out.println(ans[i].replace("X",(ans[i].charAt(j) + "")));
        }
        }    
   }    
   return ans;
}
静态字符串[]cavityMap(字符串[]网格){
字符串[]ans=网格;
对于(int i=1;i b&e>l&e>r){
ans[i]=ans[i]。替换(“X”,(ans[i]。字符(j)+”);
System.out.println(ans[i].replace(“X”,(ans[i].charAt(j)+”);
}
}    
}    
返回ans;
}
如果条件部分..,则代码将执行。。但它正在打印与以前相同的值。。为什么不用“X”替换字符串呢。。提前谢谢

ans[i].replace("X",(ans[i].charAt(j) + ""))
将所有出现的
“X”
替换为
ans[i].charAt(j)+“

如果您打算用
“X”
替换
ans[i].charAt(j)+“
,则需要交换参数:

ans[i].replace((ans[i].charAt(j) + ""), "X")
此外,不鼓励使用空字符串连接来导致从
char
转换为
string
。考虑显式调用<代码>字符。toString 或<代码> Strord.ValueO< <代码> < /P>
ans[i].replace(String.valueOf(ans[i].charAt(j)), "X")
或者更好,因为您的替换对象是单个
字符
,只需使用该类型即可

ans[i].replace(ans[i].charAt(j), 'X')
将所有出现的
“X”
替换为
ans[i].charAt(j)+“

如果您打算用
“X”
替换
ans[i].charAt(j)+“
,则需要交换参数:

ans[i].replace((ans[i].charAt(j) + ""), "X")
此外,不鼓励使用空字符串连接来导致从
char
转换为
string
。考虑显式调用<代码>字符。toString 或<代码> Strord.ValueO< <代码> < /P>
ans[i].replace(String.valueOf(ans[i].charAt(j)), "X")
或者更好,因为您的替换对象是单个
字符
,只需使用该类型即可

ans[i].replace(ans[i].charAt(j), 'X')

提示:也许用更好的方式命名变量会有帮助。调试和/或单元测试。我看不出你想要实现什么。可能会提供更多的上下文?使用的输入是什么?您是否尝试记录这两个值
ans[i].charAt(j)
ans[i]
提示:可能以更好的方式命名变量会有所帮助。调试和/或单元测试。我看不出您想要实现什么。也许可以提供更多的上下文?使用的输入是什么?您是否尝试记录这两个值
ans[i].charAt(j)
ans[i]