Foros del Web » Programación para mayores de 30 ;) » Java »

Modificar datos leyendo de fichero

Estas en el tema de Modificar datos leyendo de fichero en el foro de Java en Foros del Web. Hola, Estoy desarrollando un pequeño programa en Java. Una funcion de duna clase se encarga de leer de un archivo unos ciertos datos y interpretarlos ...
  #1 (permalink)  
Antiguo 08/01/2008, 11:31
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Modificar datos leyendo de fichero

Hola,

Estoy desarrollando un pequeño programa en Java. Una funcion de duna clase se encarga de leer de un archivo unos ciertos datos y interpretarlos para modificar un dato miembro de otra clase.

La lectura de los datos y su interpretacion es correcta. El problema surge porque el dato no se llega a modificar. El package del .java que ejecuta la lectura del fichero y del .java que contiene la variable que quiero modificar son diferentes.

Os pongo un esquema:

Servidor.java lee del archivo y interpreta (pertenece a package 1)
Jugador.java (pertenece a package2) tiene dato delarado como public static float DINERO que hay que modificar desde Servidor.java

La instruccion que he utilizado es simplemente Jugador.DINERO=XX

El programa compila y se ejecuta sin dar ningun tipo de error, pero el dato DINERO de la clase jugador no se llega a modificar.

¿Alguien sabe como hacerlo?

Muchas gracias.
  #2 (permalink)  
Antiguo 08/01/2008, 16:25
Avatar de dmontero7  
Fecha de Ingreso: enero-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Modificar datos leyendo de fichero

El problema es que el dato es estatico, al ser estatico lo puedes llamar de otras clases pero no se lo va a modificar, te recomiendo que utilices encapsulamiento, de este modo podras manipular el dato. quedaria asi:

private float dinero =0.0f;//valor inicializado por defecto

public void setDinero(float dinero){
this.dinero = dinero;
}
public float getDinero(){
return dinero;
}

asi cuando lo llames lo vas a poder modificar o dejarlo con el valor que tenia

si lo que deseas es cambiarle el valor lo harias de la siguiente forma:

Jugador jugador = new Jugador();
jugador.setDinero(10.1f);

o si lo quieres leer lo llamas asi:
float dinero = jugador.getDinero();
  #3 (permalink)  
Antiguo 09/01/2008, 01:27
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Modificar datos leyendo de fichero

El modificador static significa que es una variable compartida por todos los miembros de una clase, no significa que no se pueda modificar. Lo que indica que no se puede modificar es el atributo final, que en este caso no ha puesto por que si no, le daría error de compilación.

Así que el fallo es otro, pero así sin ver el código...

S!
  #4 (permalink)  
Antiguo 09/01/2008, 06:31
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Re: Modificar datos leyendo de fichero

Hola,

Gracias por las respuestas. El problema es que quiero cambiar el valor de DINERO sin haber creado ningun objeto de la clase jugador. El codigo de mi clase Jugador es el siguiente:

public class Jugador {

public float dinero;
public int partidas_ganadas;

public static float DINEROINICIAL=1000;

public Jugador() {
this.dinero=DINEROINICIAL;
this.partidas_ganadas=0;
}


Entonces quiero que al leer de un archivo me modifique DINEROINICIAL para que cuando cree un objeto de esa clase el Jugador.dinero tenga el valor nuevo que le he puesto yo.
  #5 (permalink)  
Antiguo 09/01/2008, 13:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Modificar datos leyendo de fichero

¿Y el código que no te funciona como es?
  #6 (permalink)  
Antiguo 09/01/2008, 14:07
kronos_
Invitado
 
Mensajes: n/a
Puntos:
Re: Modificar datos leyendo de fichero

He programado el tema de otra manera y ya me funciona.

Gracias por las respuestas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:25.