我需要替换字符串中的值:
public static String replaceVals(String str) {
String[] array = str.split("");
String newStr = "";
for (int i = 0; i < array.length; i++) {
newStr += (array[i] == "T") ? "F" : "T";
}
return newStr;
}
结果失败:
input: "TFF"
expected output: "FTT"
actual output: "FFF"
答案 0 :(得分:1)
我只是将给定的String转换为char数组,修改数组,并使用修改后的char数组返回一个新的String。
public static String replaceVals(String str) {
String[] array = str.toCharArray();
for (int i=0; i<array.length;i++) {
array[i] = array[i] == 'T' ? 'F' : 'T';
}
return new String(array);
}
答案 1 :(得分:0)
您应该使用.equals
代替==
==检查as.equals检查值的引用
public static String replaceVals(String str) {
String[] array = str.split("");
String newStr = "";
for (int i = 0; i < array.length; i++) {
newStr += (array[i].equals( "T")) ? "F" : "T";
}
return newStr;
}
答案 2 :(得分:0)
您可以在比较字符时使用==,而不是分成字符串数组,您可以使用String.toCharArray
来获取字符数组。然后,当你比较时,你需要使用单引号创建一个字符。
public static String replaceVals(String str) {
char[] array = str.toCharArray();
String newStr = "";
for (int i = 0; i < array.length; i++) {
newStr += (array[i] == 'T') ? "F" : "T";
}
return newStr;
}