gpt4 book ai didi

java - 将对象从列表传输到数组

转载 作者:行者123 更新时间:2023-12-01 10:35:19 24 4
gpt4 key购买 nike

背景信息:kragarm 是一个由两种负载组成的单链表(单一力和力矩,两者都实现了 IBelastung 接口(interface))。我试图将对象复制到一维数组(objekte)中,根据它们的位置对其进行排序,并将其属性(位置、力和力矩)放入二维数组(verlauf)中。 bildeAufDouble() 方法可以获取负载的位置这是我的代码:

public double[][] stelleVerlaufDar() {

IBelastung[] objekte = new IBelastung[kragarm.anzahlElemente()];

double[][] verlauf = new double[kragarm.anzahlElemente()][3];

IMeinIterator it = kragarm.iterator();
while (it.hatNaechsten()) {
IBelastung aktueller = (IBelastung) it.naechsten();

for (int i = 0; i < objekte.length; i++) {
objekte[i] = aktueller;
System.out.print("| " + String.format("%6.2f",objekte[i].bildeAbAufDouble())+" |");
System.out.println();
}
}

SortierenEinesFeldes.bubbleSort(objekte);
System.out.println("Sortierten Laengen");

for (int i = 0; i < objekte.length; i++) {
System.out.println("| " + String.format("%6.2f",objekte[i].bildeAbAufDouble())+" |");
}
System.out.println();

这是我的控制台 here

为什么它打印数字 5 次,然后在应该排序后,为什么它只打印排序后的第一个数字和 5 次?先感谢您。

最佳答案

for (int i = 0; i < objekte.length; i++) {
objekte[i] = aktueller;
}

这将使用相同的元素填充整个数组:aktueller

你不应该有两个嵌套循环。您应该只有一个,并且它应该在每次迭代时递增 i:

int i = 0;
while (it.hatNaechsten()) {
IBelastung aktueller = (IBelastung) it.naechsten();
objekte[i] = aktueller;
i++;
}

另外,请注意,您没有将任何内容存储到该方法返回的 verlauf 数组中。

关于java - 将对象从列表传输到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775216/

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