Autor
|
Tema: Problema al imprimir 2 vectores, con 2 bucles (Leído 8,601 veces)
|
Dem0ny
Desconectado
Mensajes: 233
ReseacheR
|
Tengo un problema con el siguiente codigo: import java.util.*; class Ejercicio2{ public static void main (String args []){ String [] nombres ={"Pedro", "Francisco", "Roberto", "Manuel", "Vicente", "Luis", "Juli", "Aaron", "Carlos"}; int [] puntuacion={10,3,2,6,2,3,4,5,2,3}; for(int j=0;j<puntuacion.length;j++){ for(int i=0; i<nombres.length;i++){ System. out. println(" "+puntuacion [i ]+ ""+nombres [j ]); } } } }
El siguiente codigo quiero que ejecute, la correspodiente matriz unidimensional(vector) con cada uno de los nombres. Por ej. Pedro tendria la puntuación 10, Francisco el 3, Roberto el 2, Manuel el 6... y que se impriman en dos columnas contiguas. Me da fallo y el resultado del programa es una combinación de cada nombre con cada una de las puntuaciones. Tiene que ser algun fallo de concatenación de los dos bucles o algo por el estilo, pero que no soy capaz de dar con ello. Aver si alguno puede darme una orientación Un saludo! Gracias de antemano
|
|
|
En línea
|
|
|
|
Rayden_3000
Desconectado
Mensajes: 99
|
Es porque estas haciendo un bucle continuo con los vectores...
No saldrá del primer valor hasta que se cumpla con la segunda condición... de lo contrario no saldrá y no tomará el siguiente valor, hasta (valga la redundancia) salga nuevamente...
Lo que tendrías que hacer es hacer un bucle y dentro de el imprimir los valores...
Saludos
|
|
|
En línea
|
|
|
|
Dem0ny
Desconectado
Mensajes: 233
ReseacheR
|
Entonces como sería, un bucle para cada vector?.
Aver, yo entiendo los 2 bucles tipo array bidimensional, va leyendo y le va asignando ... ej. posición 1, con posición 1 etc...
Por tanto sería hacer un bucle imprimiendo los nombres y otro imprimiendo puntuaciones?
El objetivo seria
Pedro 10 Francisco 3 Roberto 2 Manuel 6 Vicente 2 Luis 3 Juli 4 ... Aaron
|
|
|
En línea
|
|
|
|
Hearts
Desconectado
Mensajes: 182
|
Tu array de puntuaciones es más grande que tu array de nombres, y deben ser iguales.
|
|
|
En línea
|
|
|
|
Dem0ny
Desconectado
Mensajes: 233
ReseacheR
|
A pesar de ese error me sale cada una de las puntuaciones con todos los users.
Ej.
Pedro 10 Francisco 10 Roberto 10 Manuel 10 Vicente 10 Luis 10 Juli 10
.....
y luego con otra puntuacion,... asi
edito: El objetivo es sakarlos para lelamente como ahora y que cada puntuacion y usuario sea única, es decir para cada usuario su puntuacion.
Saludos!
|
|
« Última modificación: 2 Febrero 2009, 13:04 pm por Dem0ny »
|
En línea
|
|
|
|
Hearts
Desconectado
Mensajes: 182
|
Y es correcto, deberías hacer los dos bucles por separado por ejemplo.
Verás, lo que estás haciendo si te fijas, es que para cada j(primer bucle, nombre) le asignas todas las i(segundo bucle, puntuaciones).
|
|
|
En línea
|
|
|
|
Dem0ny
Desconectado
Mensajes: 233
ReseacheR
|
Pero al separar, en 2 bucles los 2 printf saldra las puntuaciones y despues abajo los nombres, todo dato por linea... quiero dejarlos unidos,
USUARIO PUNTUACIÓN
no...
User 1 User 2 User 3
Puntuación1 Puntuación2 Puntuación 3
Así quedaría separados los 2 bucles... con un print en cada uno...
|
|
|
En línea
|
|
|
|
Dem0ny
Desconectado
Mensajes: 233
ReseacheR
|
SOLUCIONADO: import java.util.*; class Ejercicio2{ public static void main (String args []){ String [] nombres ={"Pedro", "Francisco", "Roberto", "Manuel", "Vicente", "Luis", "Juli", "Aaron", "Carlos", "binladen"}; int [] puntuacion={10,3,2,6,2,3,4,5,2,3}; for(int j=0;j<puntuacion.length;j++){ System. out. println(" "+puntuacion [j ]+ ""+nombres [j ]); } } }
|
|
« Última modificación: 2 Febrero 2009, 13:39 pm por Dem0ny »
|
En línea
|
|
|
|
alki
Desconectado
Mensajes: 308
|
De todos modos si quisieses usar dos iteradores aunque en este caso no tiene sentido. Lo podrias haber hecho del siguiente modo: import java.util.*; class Ejercicio2{ public static void main (String args []){ String [] nombres ={"Pedro", "Francisco", "Roberto", "Manuel", "Vicente", "Luis", "Juli", "Aaron", "Carlos"}; int [] puntuacion={10,3,2,6,2,3,4,5,2,3}; for(int j=0, int i=0;j<puntuacion.length && i<nombres.length;j++, i++){ System. out. println(" "+puntuacion [i ]+ ""+nombres [j ]); } } }
Un Saludo
|
|
|
En línea
|
|
|
|
KaOs_NiGhT
Desconectado
Mensajes: 40
|
for(int j=0;j<puntuacion.length;j++){ for(int i=0; i<nombres.length;i++){ System.out.print(" "+puntuacion + ""+nombres[j]); } System.out.println(" "); } //es algo asi, para imprimir con dos bucles
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con vectores 3d
Programación General
|
ABDERRAMAH
|
4
|
4,662
|
8 Marzo 2011, 12:25 pm
por ABDERRAMAH
|
|
|
problema con vectores
Programación C/C++
|
flony
|
2
|
2,335
|
5 Noviembre 2012, 02:32 am
por flony
|
|
|
Cómo imprimir una lista de vectores
Java
|
reygecko
|
1
|
2,065
|
8 Enero 2013, 13:06 pm
por reygecko
|
|
|
Problema con bucles if y while.[C]
Programación C/C++
|
telecocabreado21
|
6
|
2,252
|
7 Febrero 2016, 01:08 am
por DMG87
|
|
|
Problema con bucles (Ayuda)
Programación C/C++
|
orakelove
|
1
|
1,576
|
16 Octubre 2018, 00:38 am
por Beginner Web
|
|