该方法应该返回通过交替指定字符串中的字符大小写形成的字符串。返回字符串中的第一个字符为小写,第二个字符为大写,第三个字符为小写,第四个字符为大写,依此类推。 示例: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
交换到其他答案上以获得正确的解决方案。
关于java - 如何返回字符大小写交替形成的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57875239/