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

Valor de la array variable

Estas en el tema de Valor de la array variable en el foro de Java en Foros del Web. Pues la cosa es clara lo que necesito es hacer que el valor de una array sea variable es decir... static char PalabrasNoTraducidas [][]=new char ...
  #1 (permalink)  
Antiguo 04/01/2012, 13:28
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 11 meses
Puntos: 0
Valor de la array variable

Pues la cosa es clara lo que necesito es hacer que el valor de una array sea variable es decir...

static char PalabrasNoTraducidas [][]=new char [NumeroPalabras][MAXCAR];
static int NumeroPalabras=0;

También he provado:

char PalabrasNoTraducidas [][]=new char [NumeroPalabras][MAXCAR];
static int NumeroPalabras=0;




Y que el NumeroPalabras dependa de ciertos factores. En teoría no es ninguna locura pero el Netbeans no me deja hacerlo.
  #2 (permalink)  
Antiguo 04/01/2012, 13:37
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Valor de la array variable

Primero se declaran las variables y luego se las usa. Si revisas tu código no haz hecho eso. Luego las variables de tipo static no deben de incluir atributos de una clase que no sea static.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #3 (permalink)  
Antiguo 04/01/2012, 14:41
 
Fecha de Ingreso: septiembre-2010
Ubicación: Caracas
Mensajes: 83
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Valor de la array variable

te recomiendo uses ArrayList<tipo>
por ejemplo en una clase

ArrayList<String> prueba = new ArrayList();
y puede manipularla con .add , .get, etc.. hay muchos metodos que te serán utiles, revisa la documentacion, incluso puedes incluir vectores y formar como una especie de matriz
  #4 (permalink)  
Antiguo 08/01/2012, 05:14
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Valor de la array variable

El problema es que no puedo usar ArrayList porque no esta permitido por así decir. Bien he provado de hacerlo así:

static int NumeroPalabras=0;
static char PalabrasNoTraducidas [][]=new char [NumeroPalabras][MAXCAR];

Porque claro durante el programa accede al valor 0 de la array para guardar algo y después incrementa ese valor si hay otra palabra. Pero no me permite el programa me sale error.

¿Porque?

Código Javascript:
Ver original
  1. public static void guardarPalabraNoTraducida(char palabra[]){
  2.  
  3.         int columnas=0;
  4.  
  5.         while (columnas<NUMCAR){
  6.  
  7.             if(hayMayusculas==true){
  8.  
  9.             PalabrasNoTraducidas[NumeroPalabras][columnas]=MAYUSCULAS[posicionMayuscula];
  10.             columnas++;
  11.             }
  12.             hayMayusculas=false;
  13.  
  14.             PalabrasNoTraducidas[NumeroPalabras][columnas]=palabra[columnas];
  15.             columnas++;
  16.  
  17.  
  18.         }
  19.         PalabrasNoTraducidas[NumeroPalabras][columnas]=' ';
  20.         NumeroPalabras++;
  21.  
  22.     }

Es que no se si me epxplico muy bien xDD.

Gracias :D.
  #5 (permalink)  
Antiguo 08/01/2012, 11:58
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Valor de la array variable

La verdad, no se explica muy bien y revisando su código, en donde declara y da valor de inicio a la variable hayMayusculas; hay veo un error que puede ser el causante de sus problemas.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #6 (permalink)  
Antiguo 08/01/2012, 12:11
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Valor de la array variable

Vamos a ver si me explico mejor. Tengo que crear una array con n elementos. El problema es que n es variable por ejemplo en una ejecución n valdrá 10 en otra valdrá 20. Podría poner 10000000 elementos a la array pero lo que quiero es conseguir que tenga los valores exactos.

static int NumeroPalabras=0;
static char PalabrasNoTraducidas [][]=new char [NumeroPalabras][MAXCAR];

NumeroPalabras irá aumentando de valor hasta llegar a su valor real. El problema es que NetBeans no me deja hacer eso.

¿Como puedo hacerlo?
  #7 (permalink)  
Antiguo 08/01/2012, 19:18
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Valor de la array variable

No puedes redimensionar un vector o una matriz como las que estas declarando ya que su longitud es fija. Sin embargo puedes reservar memoria suficientemente grande acorde a los datos que usas y fijando ese valor (MAXNumeroPalabras) como un límite, asumiendo que nunca te pasarás de esa longitud. Esto debido a que no puedes usar colecciones de longitud dinámica. El inconveniente es que tendrías memoria que casi o nunca usarías (una forma no muy óptima); pero resolverías tu problema, para llevar la posición dentro del arreglo debes de usar una variable de indice.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #8 (permalink)  
Antiguo 09/01/2012, 02:24
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Valor de la array variable

¿Y como puedo solventar mi problema de una manera óptima?

¡Alguna idea??

Gracias :D
  #9 (permalink)  
Antiguo 09/01/2012, 07:14
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 71
Respuesta: Valor de la array variable

Cita:
Iniciado por Pacheco_1990_2 Ver Mensaje
El problema es que no puedo usar ArrayList porque no esta permitido por así decir.
La manera óptima es usar por ejemplo un ArrayList, LinkedList, etc... ya que su longitud se puede modificar dinámicamente y con eso sólo usas la memoria que necesitas y cuando no la liberas.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%

Etiquetas: netbeans, variables
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 22:20.