2013-02-23 5 views
0

Я все еще новичок в Java, и у меня есть этот код. Я не знаю, как передать входной файл в код. Я использую Eclipse Juno.Как ввести файл в этот код?

public static void main(String[] args) { 
    In in = new In(args[0]);  // input file 
    int N = in.readInt();   // N-by-N percolation system 

    // turn on animation mode 
    StdDraw.show(0); 

    // repeatedly read in sites to open and draw resulting system 
    Percolation perc = new Percolation(N); 
    draw(perc, N); 
    StdDraw.show(DELAY); 
    while (!in.isEmpty()) { 
     int i = in.readInt(); 
     int j = in.readInt(); 
     perc.open(i, j); 
     draw(perc, N); 
     StdDraw.show(DELAY); 
    } 
} 

Всякий раз, когда я запускаю его я получаю это исключение:

Исключение в нити "основной" java.lang.ArrayIndexOutOfBoundsException: 0 в PercolationVisualizer.main (PercolationVisualizer.java:42)

Что может послужить причиной этого исключения? Не могли бы вы быть терпеливы со мной и объяснить процесс вызова входного файла в коде?

+0

Какая строка '42'? Если это первое, что (что я думаю), то вы получите исключение, потому что вы не передали какой-либо параметр командной строки в ваше приложение. – home

+0

При запуске программ с Eclipse вы можете указать аргументы командной строки на вкладке «Аргументы» конфигурации запуска. См. Http://stackoverflow.com/questions/4065920/running-eclipse-with-command-line-arguments и [tutorial] (http://www.cs.colostate.edu/helpdocs/eclipseCommLineArgs.html). – harpun

ответ

2

Обратитесь к this guide за добавлением аргументов в вашу программу. В качестве альтернативы вы можете указать имя файла непосредственно в коде вместо того, чтобы читать его из args.

В принципе, руководство инструктирует пользователя перейти в меню «Выполнить», затем «Запустить ...» (на самом деле «Запустить конфигурации ...» в последних версиях Eclipse), выберите соответствующую конфигурацию запуска для желаемого проекта, перейдите на вкладку «Аргументы» и введите аргументы (например, имя файла) в разделе «Параметры программы», разделенные пробелами.

Смежные вопросы