這是一個相當簡單的問題,但我是一個初學者,現在我已經停留了幾個小時。我不是在尋找一個簡單的方法,而是我只想了解我的代碼發生了什麼,以及它爲什麼不起作用。我的問題是:自定義對象的Arraylist
用隨機數和當前時間創建一個節點類。 創建一個存儲類並將這些節點存儲在一個列表/數組中。 使用主類創建50個節點並顯示。
當我運行它50次並獲取我的列表時,我將列表打印出來,以便檢查我的代碼是否正在運行,並且它們都有相同的時間。這意味着不同的節點不會被存儲到我的列表中,而是每次循環運行時被清除。這是爲什麼?
我的代碼附:
主營:
public class NodeSort {
public static void main(String[] args)
{
int c = 0;
while (c < 50)
{
Storage.add();
c++;
}
}
}
節點:
public class Node
{
public static int num;
public static long time;
public Node()
{
num = Random.getNum();
time = System.nanoTime();
}
public static long getTime()
{
return time;
}
public static int getNum()
{
return num;
}
}
存儲:
public class Storage
{
public static ArrayList<Node> list = new ArrayList<>();
public static void add()
{
list.add(new Node());
}
當我得到的時間X = 1 50,它同時打印出來50次而不是50次。
顯示打印代碼。 –
由於運行速度非常快,您可能會生成相同的隨機數。 –
您能否詳細說明您的輸出?我不確定我是否清楚。你到底在哪裏打印輸出到列表?另外,你爲什麼使用'nanoTime()'? –