Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

args

0 views
Skip to first unread message

Yaroslav Bilozor

unread,
Oct 17, 2006, 1:00:50 PM10/17/06
to
Я Вас категорически приветствую!

с чем связано, что программа

import java.util.*;

public class test_args
{
public static void main(String[] args)
{
if(args[0].equals("-h"))
{
System.out.printf("%tc-------------\n", new Date());
}
else
{
System.exit(0);
}
}
}


без аргументов выдает

D:\Myproj\java>java test_print
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at test_print.main(test_print.java:18)

хотя с аргументом отрабатывает нормально

D:\Myproj\java>java test_print -h
┬≥ юъ≥ 17 23:00:33 MSD 2006-------------


?


Пока, уважаемый. [aslav(at)inbox,ru] [ICQ 120557239] [http://aslav.obninsk.ru]

np: Titan - The power of Athlon.

Eugene Smelik

unread,
Oct 18, 2006, 1:23:39 AM10/18/06
to
Hi, Yaroslav.

YB> без аргументов выдает

YB> D:\Myproj\java>java test_print
YB> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
YB> at test_print.main(test_print.java:18)
Без аргументов массив args не имеет элементов. Eго длина = 0. Tы же
пытаешься получить первый элемент (arhs[0]). Hа это тебе сообщается, что такого
элемента нет. Hужно очевидно добавить проверку на длину массива.
YB> хотя с аргументом отрабатывает нормально

Андрей Y

unread,
Oct 18, 2006, 3:54:12 AM10/18/06
to
YB> public static void main(String[] args)
YB> {
YB> if(args[0].equals("-h"))
IMHO если аргументов нет, то и массив пустой. А
этот оператор обращается к первому елементу (номер
0), а первого елемента-то и нет. Вот и ошибка.
--
.......................................................
Если надумаете е-мылить - лучше
andreyz2000#hotmail com
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
0 new messages