"A-Bb-Ccc-Dddd" accum("RqaEzty-6ren">
gpt4 book ai didi

java - kata 中的字符串问题

转载 作者:行者123 更新时间:2023-11-30 01:42:47 27 4
gpt4 key购买 nike

大家好,我开始学习一些java。我发现 Codewars.com 是锻炼和学习的好方法。

我收到此说明:

accum("abcd") -> "A-Bb-Ccc-Dddd"
accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
accum("cwAt") -> "C-Ww-Aaa-Tttt"

这就是我到目前为止所做的,我希望有人能向我解释如何正确返回它以及如何在每个字母末尾添加“-”。

 for (int i = 1; i<=x.length(); i++){
return x.substring(i-1,i).toUpperCase();
for (int j = 1; j<i; j++){
return x.substring(i-1,i);
}
}

OUTPUT:
A
M
m
I
i
i
T
t
t
t

感谢您的支持。

最佳答案

当你有 return之后的代码无法执行,您只需读取每个字符,然后将其乘以索引

您可以使用 StringBuilder 轻松完成此操作

static String accum(String value) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < value.length(); i++) {
sb.append(value.toUpperCase().charAt(i));
for (int j = 0; j < i; j++) {
sb.append(value.toLowerCase().charAt(i));
}
sb.append("-");
}
return sb.deleteCharAt(sb.lastIndexOf("-")).toString();
}

使用 Java11 和 String.reapeat

static String accum(String value) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < value.length(); i++) {
sb.append(value.toUpperCase().charAt(i));
sb.append(String.valueOf(value.toLowerCase().charAt(i)).repeat(i));
sb.append("-");
}
return sb.deleteCharAt(sb.lastIndexOf("-")).toString();
}

关于java - kata 中的字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com