Java 替换字符串数组中的项

Java 替换字符串数组中的项,java,arrays,Java,Arrays,我有一个字符串数组,其中有多个条目。我想把这个字符串数组转录成另一个数组,用一个数字替换特定的条目(k)。 到目前为止,我所尝试的: public void replace(String[] eqh, char var, int maxX){ String[] holder = new String[eqh.length]; String comp = ""; for (int k = -maxX/2; k <= maxX/2; k++){ for (in

我有一个
字符串数组
,其中有多个条目。我想把这个
字符串数组
转录成另一个数组,用一个数字替换特定的条目(
k
)。 到目前为止,我所尝试的:

public void replace(String[] eqh, char var, int maxX){
String[] holder = new String[eqh.length];
    String  comp = "";
    for (int k = -maxX/2; k <= maxX/2; k++){
        for (int i = 0; i< eqh.length; i++){
            if (eqh[i].equals(var)){
                holder[i] = ""+k; 
            } else {
                holder[i] = eqh[i];
            } 
            comp = Arrays.toString(holder);
            System.out.println("comp: "+comp);
        } 
/// some stuff with comp here
}
public void replace(字符串[]eqh,字符变量,int maxX){
String[]holder=新字符串[eqh.长度];
字符串comp=“”;

对于(int k=-maxX/2;k您正在比较字符串与
eqh[i]中的字符。等于(var)
(它将始终返回false)。如果要检查第一个字符是否等于var,请执行
eqh[i]。字符(0)=var


此外,将整数转换为字符串执行
“+k
操作不是一个好做法。请使用
Integer.toString(k)
String.valueOf(k)
将字符串与
eqh[i]中的字符进行比较。等于(var)
(它将始终返回false)。如果要检查第一个字符是否等于var,请执行
eqh[i].charAt(0)=var


此外,将整数转换为字符串执行
“+k
操作不是一个好的做法。请使用
Integer.toString(k)
String.valueOf(k)
如果您试图检查
字符串是否等于
字符,则此测试的结果总是错误的


您可以使用
eqh[i].indexOf(var)>=0来测试字符串是否包含字符。

如果您试图检查
字符串是否等于
字符,则此测试的结果将始终为false


您可以使用
eqh[i].indexOf(var)>=0
来测试字符串是否包含字符。

您正在更改
holder
(一个仅存在于
replace
范围内的变量),我看不到
eqh
会受到什么影响。一些调试应该可以帮助您确定您正在将字符串与eqh[i]中的字符进行比较。等于(var)(它将始终返回false)。如果要检查第一个字符是否等于var,请执行eqh[i]。charAt(0)==vareqh不应受到影响,因为我必须多次转录它您正在更改
holder
(一个仅存在于
replace
范围内的变量),我看不出
eqh
是如何受到影响的。一些调试应该可以帮助您确定您正在将字符串与eqh[I].equals(var)(它将始终返回false)中的字符进行比较。如果要检查第一个字符是否等于var,请执行eqh[I].charAt(0)==vareqh不应该受到影响,因为我必须多次转录。不客气。另外,请查看我关于整数转换的建议。不客气。另外,请查看我关于整数转换的建议。