2015-03-25 2 views
-1

Я пытаюсь использовать класс секундомера для измерения скорости, с которой мой код работает в ArrayList и LinkedList. Я продолжаю получать эту ошибку, когда пытаюсь скомпилировать свой код.java.lang.NumberFormatException ошибка в eclipse при анализе int

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. Но я не знаю, что именно вызывает ошибку. Помощь была бы оценена.

+3

Рассмотрите возможность принятия некоторых ответов на ваши предыдущие вопросы. Вы спросили восемь, получили ответы за 7, но не приняли. –

ответ

2

Почему бы вам не попробовать отладить его самостоятельно. Вот как вы можете начать.

for(int i = 0; i < args.length; i++){ 
    System.out.println("Arg "+i+" is: "+args[i]); 
} 
Смежные вопросы