2015-05-12 4 views
2

Я пытаюсь передать параметр в качестве основного метода класса Java Я хочу передать параметр, используя затмение, так что я пошел вкак передать аргумент основному методу в eclipse?

run -> run configuration -> program arguments 

и я написал мои аргументы

exp grammar 

Но всякий раз, когда я запускаю это дает мне эта ошибка,

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 
    at LL.main(LL.java:146) 

это означает, что не видит второй аргумент "grammar", кто-нибудь знает, почему и как решить эту проблему?


редактировать, вот мой основной метод

public static void main(String[] args) throws IOException { 
    String exp = args[0] + '$'; 
    LL input = new LL(exp, Grammar.fromFile(args[1])); 
    try { 
     input.lLParse(); 
    } catch (Exception e) { 
     System.out.println(e); 
     System.exit(1); 
    } 
} 
+0

@ Поддержанный: Это основной метод, который уже отправлен в вопрос. – Makoto

+0

действительно ли программа запускается успешно, когда вы вызываете 'java LL exp grammar' из командной строки? –

+0

он дает ту же ошибку из командной строки, хотя я даю ввод двух строк, но ошибка указывает, что она видит только одну. – Halawa

ответ

-1

"ArrayIndexOutOfBoundsException"

Попробуйте расширить индекс для массива ехр к args.length

+0

Извините, не видел. попробуйте сделать это для (int i = 0; i 0x2B

2

В Run -> Run Configuration -> Java Application -> Arguments ввести входы, разделяющие по space

+0

Это именно то, что я делаю, но он не может видеть второй аргумент, поскольку он дает мне массив из исключения границы. – Halawa

+0

Халава. Можете ли вы добавить скриншот из окна ваших аргументов. –

+0

[screenshot] (http: // postimg. орг/изображение/xkaef5yn7 /) – Halawa

0

Проверить для дополнительного пространства между этими двумя аргументами