Uruchamianie programu z wiersza poleceń z parametrami

0

Witam
Jestem początkujący. Mam do sklepania program:

Napisz program który pobierze parametry z linii poleceń, taki że:
każdy parametr musi mieć swoją nazwę po której będzie wstawiana wartość;
program ma działać w zależności od wartości i ilości parametrów;
program ma sprawdzać czy podano wystarczającą liczbę parametrów;
program nie musi sprawdzać czy nazwy parametrów są prawidłowe - na tym etapie opieramy się tylko na ich ilości;

Póki co mam tyle:

public class Main{ 

public static void main(String[] args) { 
System.out.println( "Argumenty przekazane przez linie polecen:" ); 

int dzien = Integer.valueOf(args[0]); 
int miesiac = Integer.valueOf(args[1]); 
int rok = Integer.valueOf(args[2]); 

System.out.println("Dzien"+dzien); 
System.out.println("Miesiac"+miesiac); 
System.out.println("Rok"+rok); 
} 
}

Wszystko fajnie pięknie, ale wywołuję program z linii komend poleceniem:
java Main liczba 10 12 1988
a nauczyciel chce aby było z nazwami parametrów:
java Main -dzien 10 -miesiac 12 -rok 1988

Myślałem, że wystarczy poszczególne argumenty przypisać do zmiennych (stąd int dzień, miesiąc i rok) ale nie działa....
Co zrobić? Czy w ogóle da radę nazwać po swojemu te parametry?

Pozdrawiam :)

1
int state=-1,dzien=-1,miesiac=-1,rok=-1
for(i=0;i<args.length;++i)
   {
    if(state==2) { rok=Integer.valueOf(args[i]); state=-1; }
    else if(state==1) { miesiac=Integer.valueOf(args[i]); state=-1; }
    else if(state==0) { dzien=Integer.valueOf(args[i]); state=-1; }
    else if(args[i].equals("-rok") state=2;
    else if(args[i].equals("-miesiac") state=1;
    else if(args[i].equals("-dzien") state=0;
    else { System.out.println("Nieznany parametr"); return; }
   }

1 użytkowników online, w tym zalogowanych: 0, gości: 1