我有一个String Array
,其中有多个条目。我想将此String Array
转录为另一个,用数字替换特定条目(在这种情况下为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
}
Unfourtunatley这不起作用,comp
的返回与eqh
的输入完全相同。
答案 0 :(得分:3)
您正在将字符串与eqh[i].equals(var)
中的字符进行比较(它将始终返回false)。如果要检查第一个char是否等于var,请执行eqh[i].charAt(0) == var
此外,将整数转换为执行""+k
的字符串并不是一个好习惯。使用Integer.toString(k)
或String.valueOf(k)
。
答案 1 :(得分:1)
您正在尝试检查String
是否等于char
,此测试的结果将始终为false。
您可以使用eqh[i].indexOf(var) >= 0
来测试String是否包含char。