| |||
| esperara que termine una funcion Buenas, Tengo una funcion (funcion1) que llama a otra funcion(funcion2). quiero que cuando termine de hacer unos calculos, la funcion uno llame a la 2. codigo public void funcion1(){ //hacer calculos //ejecutamos la funcion 2 funcion2(); } el problema esta que la funcion2 se ejecuta mientras los calculos se estan haceindo. como puedo hacer para que se llame cuando terminen esos calcullos???? Saludos |
| |||
| Respuesta: esperara que termine una funcion chuidiang, me explique mal Tengo una funcion recursiva que se va llamando asi misma. hay alguna forma de detectar cuando termina esa funcion??. mi idea es que cuando termine de hacer unos calculos esa funcion que llame a otra.. Ejemplo funcion1 (parametro){ \\hacer calculos \\se llama de nuevo asi misma funcion1(parametro); \\cuando termine de hacer todo, llamamos a otroa fuincion funcion2(parametro); } saludos |
| |||
| Respuesta: esperara que termine una funcion Si que hay manera, la más fácil es poner una condición. Según veo le pasas un parámetro a f1, así tienes alguna manera de establecer cuando el parámetro o el resultado de f1(parámetro) es "bueno", por ejemplo menor que un valor delta. Así pones un condicional: Si parametro no bueno ---> f1 Si parametro bueno ---> abandonas f1 y ejecutas f2 Un saludo
__________________ Si quieres conseguir resultados diferentes no hagas siempre lo mismo. |
| ||||
| Respuesta: esperara que termine una funcion Tienes que sacarla fuera de la ejecución de la funcion1, si no no habría manera. funcion3 { funcion1(); funcion2(); }
__________________ if (fuzzy && smooth) { fuzzylog = "c00l"; return true; } |
| |||
| Respuesta: esperara que termine una funcion paso el ejemplo porque no logro entender bien como se hace. int tamaño_fichero=0; public void SizeFiles(File archivos_selec_paste){ // Sacamos todos los ficheros del directorio if (archivos_selec_paste.isDirectory()){ String[] ficheros = archivos_selec_paste.list(); if(ficheros !=null){ for (int x=0;x<ficheros.length;x++) { File asd = new File(ficheros[x]); tamaño_ficheros_temp += asd.length(); System.out.println(tamaño_ficheros_temp); // Por cada fichero volvemos a llamar recursivamente a la copa de directorios SizeFiles(new File(archivos_selec_paste,ficheros[x])); } } }else{ tamaño_ficheros_temp += archivos_selec_paste.length(); System.out.println(tamaño_ficheros_temp); } funcion2( tamaño_ficheros_temp); } lo que hace esto es calcular el tamaño total de las carpetas puesta en la variable(c:\windows) y cada recorrido de cada archivo lo va sumando en la variable tamaño_ficheros_temp. lo que yo quiero hacer es que cuando termine de calcular el tamañao total de todos los ficheros de esa ruta que me ejecute funcion2 pasando como argumentos la variable del tamaño total de las carpetas. el problema esta que mientras esta calculando tambien se ejecuta la funcion2. |
| ||||
| Respuesta: esperara que termine una funcion Es muy simple esto.. Si querés "ESPERAR" a que termine una función, tenés que asignarle un valor de RETORNO != void (incluso a funciones re cursivas) public void fx(){} ===> public ALGO fx(){} y listo...
__________________ BadProgrammerException! |
| |||
| Respuesta: esperara que termine una funcion vale le agrege el return y me aparece un signo de admiracion codigo: int tamaño_fichero=0; //me aparece un signo de admiracion que dice missing return statement public int SizeFiles(File archivos_selec_paste){ // Sacamos todos los ficheros del directorio if (archivos_selec_paste.isDirectory()){ String[] ficheros = archivos_selec_paste.list(); if(ficheros !=null){ for (int x=0;x<ficheros.length;x++) { File asd = new File(ficheros[x]); tamaño_ficheros_temp += asd.length(); System.out.println(tamaño_ficheros_temp); // Por cada fichero volvemos a llamar recursivamente a la copa de directorios SizeFiles(new File(archivos_selec_paste,ficheros[x])); } } }else{ tamaño_ficheros_temp += archivos_selec_paste.length(); System.out.println(tamaño_ficheros_temp); } return tamaño_ficheros_temp; } |
| ||||
| Respuesta: esperara que termine una funcion tampoco la pavada flaco.. pensá 2 segundos antes de postear algo. ¿SE PUEDE SABER DONDE ESTÁ DECLARADO E INICIALIZADO ESTE ATRIBUTO tamaño_ficheros_temp? Porque dentro del método no lo veo y si es un atributo de clase estaría mal diseñado
__________________ BadProgrammerException! |
| ||||
| Respuesta: esperara que termine una funcion La llamada a la segunda función se debe hacer una vez se compruebe que no hay más llamadas que hacer a la función 1. FiruzzZ parece que solo ha puesto parte del código, ese int se pudo declarar como atributo de la clase :| Espero que no esté usando el package java IO asíncrono, porque en ese caso tendría que implementar funcion1(atributo1, ..., atributoN, funcionCallback()) donde funcionCallback() sería su funcion2();
__________________ if (fuzzy && smooth) { fuzzylog = "c00l"; return true; } |