特定の数の文字列をリンク リスト キューにエンキューおよびデキューするのにかかる時間を記録しようとしています。
文字列の数を手動で設定すると、プログラムが実行されるたびに、ほぼ同じ経過時間が返されます。
ただし、ユーザーに入力を求めて (以下のように)、同じ数値を入力すると、ほとんどの場合、プログラムの実行に 2 倍の時間がかかります。キューイングおよびデキュー関数が呼び出される直前までタイマーを開始しないため、これがどのように起こっているのかわかりません。
public static void main(String[], args){
long start, elapsed;
int num = Integer.parseInt(javax.swing.JOptionPane.showInputDialog("State the number of elements to queue:"));
System.out.println("Processing " + num + " strings...");
Queue lq = new LinkedQueue();
// timing section
start = System.nanoTime();
testQueue(num, lq);
elapsedTime = System.nanoTime() - start;
}
なぜこれが起こっているのか誰にも分かりますか?