2010-08-13 2 views
3

Я передаю аргумент командной строки, используя Netbeans, но я получаю ArrayIndexOutOfBoundsException.java netbeans commadline аргумент передается

Мой код:

public class CmdLineArgumentPassing 

{ 

     public static void main(String args[]) 
     {   
     System.out.println("Count : " + args.length); 

     System.out.println("i : "+args[0]); 
     } 
} 

Выход:

Count : 0 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 

ответ

5

Щелкните правой кнопкой мыши по проекту, выберите «Свойства», перейдите на страницу «Запуск», добавьте аргументы командной строки.

+0

Я уже сделал это, и мое значение 12. – Samurai

+0

Если я установил этот проект в качестве основного проекта, и я запускаю с использованием F6, я получил результат. Здесь в этом проекте я имею только этот файл, а также задаю этот класс как основной класс. Затем запустите с помощью shift + F6 i can not get output. – Samurai

+1

Щелкните правой кнопкой мыши на Project и выберите Run (или F6, но Run Run не требует, чтобы проект был основным ...). Если вы тестируете или просто пытаетесь запустить класс напрямую, вы не сможете передать его аргументам. – TofuBeer

2

Как ваш выход Count : 0 то args массив имеет length из 0, что означает не передается никаких аргументов.

При попытке доступа к первому аргументу с использованием arg[0] вы получаете исключение, поскольку пытаетесь получить член массива, который не существует. В этом случае вы пытаетесь получить первый член пустого массива. Помните, что индексы массива начинаются с 0 и перейдите к length - 1.

Поскольку args пуст, это означает, что проблема связана с тем, что Netbeans передают ваши аргументы не с вашим кодом, поэтому я предполагаю, что Netbeans не настроен должным образом.

-1

Нажмите на Final proj и запустите, а не основной проект для netbeans 6.9. U получит ответ.

0

У меня были аргументы, заданные в свойствах проекта/run/arguments, но я запускал класс напрямую (щелкните правой кнопкой мыши над файлом класса -> запустите), поэтому никаких аргументов из проекта, где передается, нет. Решение состояло в том, чтобы сделать правый щелчок по проекту, а затем выбрать опцию «Выполнить». Аргументы, которые прошли.

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

  • Нет связанных вопросов^_^