El Post Oficial para aprender Java

jorge96

En otro hilo la duda, borrar

1 respuesta
Lecherito

#181 No me he enterado de un carajo.

1 respuesta
jorge96

#182 he abierto un hilo, ya que este lo veia para preguntas más cortas. http://www.mediavida.com/foro/dev/java-problema-536768

jorge96

Bueno pues pregunto dudas concretas xD

Como puedo hacer para que un metodo me devuelva el contenido de un arrayList?

2 respuestas
Martita-

#184
Porque no devuelves un arraylist y lo tratas donde necesites?

1 1 respuesta
Lecherito

#184 El contenido de un arraylist? Eso es como decir que quieres devolver el contenido de una String xDDD

jorge96

#185 Vale si xd no es en lo que estaba pensando pero me sirve igual.

1 respuesta
Martita-

#187
Si lo que necesitas es que te devuelva un string, con las palabras que necesitas, simplemente añade a un string lo que te vaya dando el array, y retorna el string con todo lo que has añadido.

No se si me he explicado...

Perurena

Yo todavía ni entiendo la pregunta xd

4 1 respuesta
Martita-

#189
Basicamente quiere un metodo que devuelva, lo que contiene cada posicion de un arraylist. En este caso un arraylist de Strings.

Por eso le he dicho que recorra el array y añada el resultado a un String.

1
re4q

Hola gente, antes que nada gracias a todos los que os pasáis por aquí i aportáis siempre ideas/soluciones.
Me encuentro en un ejercicio donde tengo que determinar el numero de diputados que tocan a cada partido según el numero de votos. Bien pues lo he codificado todo ya pero me falta el último paso.

Tengo una matriz con:
Como se puede observar en la imagen la 1a columna corresponde al numero de votos de Partido a, partido b, partido c.
Bien, se va dividiendo por /1 /2 /3... hasta el numero de escaños disponibles (en este caso trabajo con 8).

Vale, ahora viene lo bueno. Tengo que coger los 8 números mas grandes de esta matriz, y a la vez saber en que fila los he cogido, ya que al coger 1 numero de esos voy a sumar escaños++ para ese partido.

Esta es la parte de código que tengo del último paso:

for (int i=0;i<matriuQuocients.length;i++){
      for (int j=0;j<matriuQuocients[0].length;j++){
        matriuQuocients[i][j] = Integer.toString(Integer.parseInt(votsValids[i][1])/(j+1));
        ////////
        diputatsAsignats = 0;
        //Aqui es donde tengo que codificar lo que he comentado.
        diputatsAsignats++;
        
matriuResultat[i][0] = votsValids[i][0]; matriuResultat[i][1] = Integer.toString(diputatsAsignats); } }

(la matriuResultat contendrá el nombre del partido (que ya lo he codificado antes y se encuentra en votsValids) i el numero de escaños para cada uno)
No sé si me he explicado muy bien, de todos modos muchas gracias por el intento de comprensión

jorge96

Alguien entiende porque me esta dando este error.

He intentado arregarlo iniciandolo a false todo, pero me da esto.

spoiler
2 respuestas
Martita-

#192
Tienes mal una de estas 3 cosas, o i o j o k, alguna de esas hace te salte el outofbounds del array.

Y en el segundo ejemplo, es posible que le estes pasando parametros vacios?

1 respuesta
Perurena

#192 Lo he visto muy por encima eh, pero puede ser que estás iterando con el mismo loop i y j, entonces, si i es mayor que j, habrá un momento en el que j saldrá de los límites del array.

Yo siempre que intento recorrer una matriz es un for dentro de otro for.

for (int i =0;i<array.length;i++)
for(int j=0;j<array.length;j++)

2 respuestas
Martita-

#194
el for anidado en realidad seria:
for(int j = 0; j < array[ i ].length; j++)

EDIT: Vale, he visto cuando estaba poniendolo, que te ha pasado como a mi, y te lo ha puesto en italica. Perdon jajajaja.

jorge96

#193 #194 Entonces aparte de esos deberia poner tambien otro bucle para el indice k? Porque en teoria, los i j son para lo que seria un cuadro de sopa de letras, entonces te compararia con la palabra que quiero mirar, pero además tambien se pasaria de largo el tamaño de la palabra si lo pusiese asi no? Tendria que poner alguna forma para que no se pasase de dicha condicion.
Edit. Y al poner los dos for para i,j me tendria que revisar todo hasta que se acabase la matriz, siendo que yo solo quiero mirar las casillas desde la i j que inicie hasta el tamaño de la palabra.

Y martita, puede ser que le estuviese pasando datos vacios, no se xd Pero el profesor me dijo que igual pasaba eso por que no lo tenia inicializado en ese metodo, entonces eso no se muy que es lo que tengo que hacer. Hacer lo mismo que en el constructor? Crear un objeto de pEntrelazadas?

Usuarios habituales