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不应该受到影响,因为我必须多次转录。不客气。另外,请查看我关于整数转换的建议。不客气。另外,请查看我关于整数转换的建议。