Ordenar array bidimensional alfabeticamente
Publicado por Irene (1 intervención) el 23/11/2017 15:39:50
Buenas tardes
Empece programación en Setiembre que nivel principiante, por favor.
Estoy haciendo un programa de entrada y creación de password a través de un array bidimensional en java. Se genera una matriz de X filas (según número de usuarios a introducir), y en la columna 2 de la matriz se guarda el password. Quiero que una vez introducidos los valores java analice la matriz y la ordene de la A a la Z en los valores de la primera columna o nombre de usuario. Para eso escribo el siguiente código:
Pero me da el siguiente resultado:
Cuántos usuarios quiere introducir?
4
Nombre de usuario:
Pepe
Nombre de usuario:
Ana
Nombre de usuario:
Roger
Nombre de usuario:
Oliver
Muestra nueva matriz:
Usuari: Ana Pasword:4n4
Usuari: Ana Pasword:4n4
Usuari: Roger Pasword:R4g4r
Usuari: null Pasword:null
Muchas gracias por la ayuda
Irene
Empece programación en Setiembre que nivel principiante, por favor.
Estoy haciendo un programa de entrada y creación de password a través de un array bidimensional en java. Se genera una matriz de X filas (según número de usuarios a introducir), y en la columna 2 de la matriz se guarda el password. Quiero que una vez introducidos los valores java analice la matriz y la ordene de la A a la Z en los valores de la primera columna o nombre de usuario. Para eso escribo el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
String auxiliar[][] = new String[numUsuari][LIMIT_COLUMNES_ARRAY];
for (j=0;j<numUsuari;j++){
for (i = 0; i <= usuariPassword[0].length; i++) {
auxiliar[i][0] = usuariPassword[i][0];
auxiliar[i][1] = usuariPassword[i][1];
for (x = i + 1; x <= auxiliar[0].length; x++) {
auxiliar[x][0] = usuariPassword[x][0];
auxiliar[x][1] = usuariPassword[x][1];
if (auxiliar[i][0].charAt(0) > auxiliar[x][0].charAt(0)) {
String temp = auxiliar[i][0];
String tempPass = auxiliar[i][1];
auxiliar[i][0] = auxiliar[x][0];
auxiliar[i][1] = auxiliar[x][1];
auxiliar[x][0] = temp;
auxiliar[x][1] = tempPass;
}
}
}
}
Pero me da el siguiente resultado:
Cuántos usuarios quiere introducir?
4
Nombre de usuario:
Pepe
Nombre de usuario:
Ana
Nombre de usuario:
Roger
Nombre de usuario:
Oliver
Muestra nueva matriz:
Usuari: Ana Pasword:4n4
Usuari: Ana Pasword:4n4
Usuari: Roger Pasword:R4g4r
Usuari: null Pasword:null
Muchas gracias por la ayuda
Irene
Valora esta pregunta


0