【问题标题】:Reversing a string using for loop giving an error使用for循环反转字符串给出错误
【发布时间】:2020-12-10 12:07:15
【问题描述】:

我正在尝试使用下面的代码将字符串str[] 的元素分配给rev[],但它一直给我错误:

“字符串下标超出范围”错误。

我该如何纠正这个问题?

for (int i = 0; i <= str.length(); i++)
{
    for (int j = str.length(); j >= 0; j--)
    {
        rev[i] = str[j];
    }
}

【问题讨论】:

  • 您确定需要嵌套for 循环来反转字符串吗?想想str.length() - j 给了你什么。此外,您应该使用您正在使用的编程语言标记您的问题。
  • 我会记住标记语言。我真的不明白你的意思 str.length() - j
  • 内部 j 循环的第一次迭代执行此:str[str.length()],超出范围。
  • 只需使用str.length() - 1 开始您的循环。
  • 这能回答你的问题吗? How to make a reverse string using a for loop?

标签: arrays string


【解决方案1】:

对于从0 到数组size - 1 的数组索引范围。 您不需要两个循环来反转数组。 在java中你可以像这样进行反转:

int length = str.length - 1;        
for (int i = 0; i <= str.length-1; i++) {
        rev[length - i] = str[i];
}

【讨论】:

    猜你喜欢
    • 2017-04-13
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 2018-06-13
    相关资源
    最近更新 更多