System.out.println ("Soy " + id + " y estoy comiendo por " + (new Integer(n)).toString ());
comidas_actuales++;
try {
- Thread.sleep (n);
+ Thread.sleep (n*1000);
} catch (Exception e) {}
finally {}
}
int n = r.nextInt (5) + r.nextInt (2);
System.out.println ("Soy " + id + " y estoy pensando por " + (new Integer(n)).toString ());
try {
- Thread.sleep (n);
+ Thread.sleep (n*1000);
} catch (Exception e) {}
finally {}
}
{
static public void main (String[] args)
{
- int n = 5;
+ int n;
int i;
+ int cant;
+
+ if (args.length < 2) {
+ /* Java parece no poner en args[0] el caller -.- .. Java Sucks :P */
+ System.out.println ("Modo de uso: java filosofo3 <Cantidad de chinos invitados a la fiesta> <Cantidad de rondas que estara pensando o comiendo cada chino>");
+ return;
+ }
+ n = Integer.parseInt (args[0]);
+ if (n < 2) {
+ System.out.println ("Debe haber por lo menos 2 chinos");
+ return;
+ }
+
+ cant = Integer.parseInt (args[1]);
Palitos p = new Palitos (n);
for (i=0; i<n; i++) {
String s = (new Integer(i)).toString ();
- Filosofo f = new Filosofo (s, n, i, (i+1)%n, p);
+ Filosofo f = new Filosofo (s, cant, i, (i+1)%n, p);
f.start ();
}
}