Me gusto, es facil y sencillo, maneja bloques limitados para no confundir, lo que permite no pasar el siguiente nivel sin entenderlo el primero.
El curso esta bien como primera toma de contacto de Java. El tiempo de lectura medio es muy rapido por lo que te permitira empezar a trastear con java desde el primer momento y empezar a saber manejar , clases, objetos y excepciones.
En realidad, yo soy parte del grupo gerencia. Mi actividad es solo funcional y comercial, pero como vengo del área de tecnología, siempre me intereso en estos temas para poder hablar con más propiedad. En este caso puntual, había una rutina Java que informaba la catidad de días hábiles (laborales) entre dos fechas y lo hacía mal. Indicaba el 4/1/2007 como Domingo. Recordadndo mis tiempos de Cobol, Assembler, etc. intenté encontrar la falla (les cuento que fracasé) y por esta razón, ingresé a vuestro curso. Quizás haya alguien que me pueda dar la solución: Las fechas suministradas en fecIni=04012007 y FecFin=05012007 int diasLaborables(Calendar fecIni, Calendar fecFin) { if (fecIni.before(fecFin)) { int diaSemIni = fecIni.get(Calendar.DAY_OF_WEEK); Esto informa mal. int diaSemFin = fecFin.get(Calendar.DAY_OF_WEEK); // Si alguno de los días es sábado o domingo, lo lleva al // siguiente (ini) o anterior (fin) laborable if (diaSemIni == Calendar.SATURDAY) fecIni.add(Calendar.DATE, 2); else if (diaSemIni == Calendar.SUNDAY) fecIni.add(Calendar.DATE, 1); if (diaSemFin == Calendar.SATURDAY) fecFin.add(Calendar.DATE, -1); else if (diaSemFin == Calendar.SUNDAY) fecFin.add(Calendar.DATE, -2); int numNatur = (int)((fecFin.getTimeInMillis() / 86400000) - (fecIni.getTimeInMillis() / 86400000)); int numLabor = numNatur; int semIni = fecIni.get(Calendar.WEEK_OF_YEAR); int semFin = fecFin.get(Calendar.WEEK_OF_YEAR); if (semIni < semFin) numLabor -= (semFin - semIni) * 2; return numLabor; } else return -1; //throw new IllegalArgumentException(); } Desde ya mil gracias. Carlos Florentino cflorentino@bsps.com.ar