elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problema con variables creadas en funciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con variables creadas en funciones  (Leído 1,764 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
problema con variables creadas en funciones
« en: 18 Noviembre 2015, 23:34 pm »

Si yo creo una funcion recursiva con, por poner un ejemplo, una variable "var" de tipo int que incremente su valor una unidad cada vez que se accede a la misma funcion dentro de si misma, como podria acceder a su valor?
Código
  1. boolean darPrimerValor = true;//Esto solo es para darle a "var" el valor 0 una sola vez
  2.  
  3. void funcion(){
  4.   if(darPrimerValor == true){
  5.      int var = 0;
  6.      darPrimerValor = false;
  7.   }
  8.   if(var < 10){
  9.      var++;
  10.      funcion();
  11.   };
  12. }
Cada vez que se ejecuta la funcion dentro de si misma crearia una nueva variable "var" con el mismo nombre, no? entonces como puedo obtener el valor de la variable de la funcion que la llama?
Es lo mismo que si uno de los parametros de la funcion tuviera el mismo nombre que un atributo de la clase en la que se instancia, solo que para eso se usa el puntero "this" y para el problema que propongo no.


En línea

DvNe

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: problema con variables creadas en funciones
« Respuesta #1 en: 19 Noviembre 2015, 01:43 am »

Tu problema esta en que los parámetros en Java se pasan por valor, es decir el parámetro que recibe la función es una copia del parámetro real y los cambios que se efectúan dentro de la función no afectan al parámetro real.

Hay lenguajes de programación que permiten el paso de parámetros por referencia, aquí los cambios que se realicen sobre el parámetro se verán reflejados en el parámetro real.

Una forma de eludir un poco esta restricción de Java se presenta en esta web, échale un vistazo a ver si te ayuda.

http://lineadecodigo.com/java/parametros-por-referencia-en-java/


En línea

furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: problema con variables creadas en funciones
« Respuesta #2 en: 19 Noviembre 2015, 02:20 am »

La variable var declarala como final y listo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda Python+TK] Sobre variables y funciones
Scripting
xassiz_ 3 4,209 Último mensaje 4 Marzo 2010, 21:21 pm
por xassiz_
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 24,061 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
No reconoce las variables en funciones « 1 2 »
Programación C/C++
muymuyperdido 11 6,631 Último mensaje 27 Diciembre 2012, 15:02 pm
por OmarHack
Error en mysql funciones y variables.
PHP
turion 6 2,688 Último mensaje 14 Julio 2014, 15:56 pm
por turion
(Python 3.5) Problema con variables globales y funciones
Scripting
BigKaz 2 2,539 Último mensaje 20 Diciembre 2016, 13:59 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines