该方法应该返回通过在指定字符串中交替字符大小写而形成的字符串。返回的字符串中的第一个字符为小写,第二个字符为大写,第三个字符为小写,第四个字符为大写,依此类推。示例:tOrOnTo。
public static String alternatingCaps(String s) {
for (int i = 0; i < s.length(); i++) {
if (i % 2 == 0) {
System.out.print(Character.toUpperCase(s.charAt(i)));
} else {
System.out.print(Character.toLowerCase(s.charAt(i)));
}
}
return s;
}
我期望这可以正常工作,但是它始终无法通过JUnit测试。
IDK,为什么所有其他解决方案都漏掉了其中一个条件(第一个字符必须为小写0%2 == 0
)。您的测试代码仍将失败。
正确的解决方案是
public static String alternatingCaps(String s) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (i % 2 == 0) {
result.append(Character.toLowerCase(s.charAt(i)));
} else {
result.append(Character.toUpperCase(s.charAt(i)));
}
}
return result.toString();
}
PS:交换方法调用,toUpperCase
以及toLowerCase
其他答案以获得正确的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句