-1
我正在嘗試使用秒錶類來測量我的代碼在ArrayList與LinkedList上運行的速度。當我嘗試編譯我的代碼時,我仍然遇到這個錯誤。分析int時eclipse中的java.lang.NumberFormatException錯誤
Exception in thread "main" java.lang.NumberFormatException: For input string: "java"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at SortTest.main(SortTest.java:10)
我的代碼如下所示:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
public class SortTest {
public static void main(String[] args) {
final int N = Integer.parseInt(args[0]);
ArrayList<Integer> thelist = new ArrayList();
int x = 1;
while (x < N) {
thelist.add(x);
}
final Random RNG = new Random (Long.getLong("seed", System.nanoTime()));
Collections.shuffle(thelist, RNG);
/////////////
//STOPWATCH//
/////////////
final StopWatch sw = new StopWatch(true);
for (int i = 0; i < 25; i++) {
sw.start();
int smaller = 0;
int smallerindex = 0;
int b = 0;
for(int a = 1; a <thelist.size(); a++) {
smaller = thelist.get(a - 1);
smallerindex = a - 1;
for(b = a; b <thelist.size(); b++) {
if(thelist.get(b) < smaller) {
smaller = thelist.get(b);
smallerindex = b;
}
}
if (smallerindex == a) {
//no action
} else {
int temp = thelist.get(a);
thelist.set(a, thelist.get(smallerindex));
thelist.set(smallerindex, temp);
}
}
sw.stop();
}
final double averageTime = sw.getAverageTime();
System.out.println(averageTime);
}
}
我的命令行輸入如下所示:
java -Dseed=4321567 SortTest 200 java.util.ArrayList
我嘗試初始化N到0和1,錯誤不是那裏了。只要我將N設置爲2,錯誤就會返回。所以我從中得到的是N> 1有問題。但我不知道是什麼導致了錯誤。幫助將不勝感激。
請考慮接受一些您以前的問題的答案,請。你已經問了8個,已經收到7個答案,但還沒有接受任何答案。 – 2015-03-25 00:33:41