Programa que le nomes e imprime inverso não funciona, e não sei por que

Vamos ao problema, sem menor dúvida TRIVIALZISSIMO pra qualquer pessoa que mexe com java a 1 mês, mas um sério problema para quem mexe a menos de uma semana.

Temos esse Programa, que apenas lê strings no array ARGS e depois exibe cada arg separadamente.

public class Eco
{
public static void main (String args[])
{
for (int i = 0; i < args.length; i++)
System.out.println (args[i]);
System.out.println ();
}
}

Ai uma variante desse programa que foi oq pediram para nós, é fazer um programa chamado Nome e este deveria ler um nome tipo

Robson AK
e retornar

AK Robson, ou seja inverter a ordem
tentei desse modo:

public class Nome
{
public static void main (String args[])
{
for (int i = args.length; i >= 0; i--)
System.out.println (args[i]);
System.out.println ();
}
}

Só que não vai da um erro de exption e tals.

Não quero um programa pronto pra eu copiar e colar, queria entender as coisas que envolvem esses 2 programas, nao adianta me fala pra ler um tutorial gigante… pois não tenho tempo hehehe…

preciso dessa parte minuscula, queria entender como fazer este programa de fato.

vlw a todos que ajudarem e flw

Simples, os indices do array começam em 0, e a variavel legth começa em 1.
Logo o correto seria vc fazer isso:

for (int i = ar.length - 1;i >= 0 ; i-- ) // atente para o fato de subtrair 1 na variavel legth.