Salve ragazzi!

Perchè quando tento di avviare questo programmino

codice:
public class Multiprog {
   public static void main (String[]args){
      int x = Integer.parseInt (args[0]);
      int y = Integer.parseInt (args[1]);
      int z = 0;
      while (y>0) {
         z=z+x;
         y=y-1;
      }
      System.out.println ("Il risultato del prodotto è" +z);
   }
}
mi esce un errore;

codice:
 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException... 0
      at Multiprog.main(Multiprog.java:3)

E sopratttutto, un mio amico mia ha mandato il suo programmino, che a lui funziona magicamente e guardate un pò...mi da lo stesso errore.

codice:
class Fattoriale
 {
    public static void main(String[] args)
     {
	int x = Integer.parseInt(args[0]);
	int y = 1,z = 1;
	while(y<=x)
	 {
	  z = z*y;
	  y++;
	 }
	System.out.println("Il fattoriale di "+x+" e' "+z);  
     }
 }
codice:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at Fattoriale.main(Fattoriale.java:5)
Aiutatemi vi prego