gpt4 book ai didi

java - 如何将 "a3b3"这样的字符串解压为aaabbb?

转载 作者:行者123 更新时间:2023-12-02 06:30:15 24 4
gpt4 key购买 nike

我正在尝试接受用户输入,例如 a3b3并将其解压为aaabbb 。这是我想出的代码,它打印 a33b

String getDecompressedText() {
int i;
int n = 1;
String d = "";
for (i = 0; i < compressedText.length(); i++){
if (Character.isDigit(compressedText.charAt(i)) == true) {
while (n < compressedText.charAt(i)-'0') {
d += compressedText.charAt(i);
n++;
}
}
else
d += compressedText.charAt(i);
}
return d;

最佳答案

现在这是你的算法:

for each character:
if it's not a digit, print it
if it is a digit, print the digit itself "digit - 1" times

不理想。几个问题:

  • 您打印数字,而不是其前面的字母。使用charAt(i-1)
  • 您递增n,但永远不会将其重置回1。您应该在 for 循环中执行此操作。
  • 您确实应该打印该字母 n - 1 次,因为它自己打印了一次,所以这很好
  • 使用StringBuilder
  • 对于诸如 a14 - 2 位计数之类的情况,算法会崩溃。

关于java - 如何将 "a3b3"这样的字符串解压为aaabbb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134939/

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