gpt4 book ai didi

java - 将元素添加到数组的开头。

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:00 27 4
gpt4 key购买 nike

我正在练习一些非常基本的 Java 数组练习,我很难思考如何将一个元素插入数组的开头,然后将剩余的元素向右移动。因此,如果数组没有超过其最大大小,则在数组 j, a, v, a 前面插入 z 将生成 z, j, a, v, a。

我知道如何用数组列表来做这件事,我只是很难用数组来正确地逻辑。这是我到目前为止所拥有的:

 public void addFront(char ch)
{
for(int i = 1; i < data.length-1; i++){
char temp = data[i - 1];
data[i] = temp;
}
data[0] = ch;

}

我似乎需要一个临时变量,但在这种情况下我没有正确使用它。任何输入将不胜感激!

最佳答案

让我们看看您当前的循环在做什么。它将字符从 i - 1 位置复制到当前位置。但是下一个循环会将它从 (current) i 复制到 (current) i + 1。它只会将第一个字符复制到数组中除最后一个位置之外的每个位置。

您必须向后遍历数组,这样一次移位就不会意外使用前一次移位的结果。

从索引data.length - 1开始,从位置i - 1复制到位置i,确保最后一次迭代是当 i1 时。

此外,不需要临时变量。您可以直接复制该值,即

data[i] = data[i - 1];

关于java - 将元素添加到数组的开头。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20483700/

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