【发布时间】:2020-05-29 13:29:19
【问题描述】:
我有一个关于 Java 的问题。我刚开始接触 Java,我的谷歌搜索带来了很多结果,但最终的帮助不是。 我创建了一个类来跟踪历史信息。我在不同的日子有不同的价值观,需要定期更新它们。我想跟踪过去 30 天并创建了一个包含 30 个元素的数组。当我调用我的“移位”函数时,我想删除最后的 n 个元素并将零放在前面。这是一个 5 天的小例子:
public class Testclass {
private int[] histInfo;
public Element()
{
this.histInfo = new int[5];
}
public void shift_histInfo(long m)
{
//do magic
}
}
我想做的事情是
INPUT:
histInfo = [50,21,1,45,901]
OPERATION:
shift_histInfo(2);
RESULT:
histInfo = [0,0,50,21,1]
如果您认为有更优雅或更有效的方法,我很感谢您可以支持的各种帮助以及发人深省的冲动。
最好的:-)
【问题讨论】:
-
如果你想使用数组(你也可以使用
Collection,比如List),你应该使用索引。否则,您将不得不不必要地复制值。 -
这不是一个困难的问题,我们想看看你到目前为止已经尝试过什么。发布您到目前为止编写的任何代码。
-
@ArvindKumarAvinash:感谢您的回复。我不能给你工作代码,但我试图用内置函数'shift()'来解决这个问题。我想可能有一个构建函数来解决这个问题,否则它可能会变得非常低效。