gpt4 book ai didi

Java字符串替换问题

转载 作者:行者123 更新时间:2023-12-02 02:18:41 25 4
gpt4 key购买 nike

我有一段代码,其中我在 Java String 上使用替换方法,但它不起作用..请指出错误..

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;
}

代码执行将进入if条件部分..但是它打印的值与之前相同..为什么它不将字符串替换为“X”..提前感谢

最佳答案

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

将用 ans[i].charAt(j) + "" 替换所有出现的 "X"

如果您打算将 ans[i].charAt(j) + "" 替换为 "X",您将需要交换您的参数:

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

此外,不鼓励使用与空字符串的串联来导致从 charString 的转换。考虑显式调用 Character.toStringString.valueOf

ans[i].replace(String.valueOf(ans[i].charAt(j)), "X")

或者更好,因为您的替换是单个char,所以只需使用该类型

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

关于Java字符串替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48871998/

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