Java - Error al usar método burbuja

 
Vista:
Imágen de perfil de Devastador
Val: 47
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Error al usar método burbuja

Publicado por Devastador (15 intervenciones) el 06/11/2020 21:17:32
Hola, quiero aplicar el método burbuja en este al estos array pero cuando intento hacer me tira unexpected type
requerid : variable
found: value en las lineas con negrita

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
public void arreglo(){
        int contadorhombre = 0, contadormujer = 0;
        float tmp = 0;
 
        for (int i =0; i < array.length; i++) {
            if (array[i].getSexo().equals("Masculino")){
                 arrayhombres[contadorhombre] = array[i];
                 contadorhombre++;
            }else if (array[i].getSexo().equals("Femenino")){
                 arraymujeres[contadormujer] = array[i];
                 contadormujer++;
             }
        }
 
        for (int j = arrayhombres.length - 1; j > 0; j--) {
            for (int k = 0; k < j; k++) {
                if (arrayhombres[k].getTiempocarrera() < arrayhombres[k + 1].getTiempocarrera()) {
                    tmp = arrayhombres[k].getTiempocarrera();
                    arrayhombres[k].getTiempocarrera() = arrayhombres[k + 1].getTiempocarrera();
                    arrayhombres[k+1].getTiempocarrera() = tmp;
                     }
                 }
             }
        for (int j = arraymujeres.length - 1; j > 0; j--) {
            for (int k = 0; k < j; k++) {
                if (arraymujeres[k].getTiempocarrera() < arraymujeres[k + 1].getTiempocarrera()) {
                    tmp = arrayhombres[k].getTiempocarrera();
                    arraymujeres[k].getTiempocarrera() = arraymujeres[k + 1].getTiempocarrera();
                    arraymujeres[k+1].getTiempocarrera() = tmp;
                     }
                 }
             }
     }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Error al usar método burbuja

Publicado por Rodrigo (623 intervenciones) el 06/11/2020 21:55:49
Sugiero quitar .getTiempocarrera() de las lineas 18, 19 y 20 y 27, 28 y 29

Tu quieres intercambiar los registros completos, supongo, no solo el tiempo. verdad?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Devastador
Val: 47
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Error al usar método burbuja

Publicado por Devastador (15 intervenciones) el 07/11/2020 00:06:12
Si, quiero cambiar todo el registro pero debo utilizar el tiempo para ordenar de menor a mayor en este caso con el método burbuja, lo que no entiendo es que debo hacer para que me los ordene mediante ese método, asi lo tenia antes pero no funcionaba el orden burbuja

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
public void arreglo(){
    int contadorhombre = 0, contadormujer = 0;
 
    for (int i =0; i < array.length; i++) {
        if (array[i].getSexo().equals("Masculino")){
             arrayhombres[contadorhombre] = array[i];
             contadorhombre++;
        }else if (array[i].getSexo().equals("Femenino")){
             arraymujeres[contadormujer] = array[i];
             contadormujer++;
        }
    }
 
    for (int j = arrayhombres.length - 1; j > 0; j--) {
        for (int k = 0; k < j; k++) {
            if (arrayhombres[k].getTiempocarrera() < arrayhombres[k + 1].getTiempocarrera()) {
                    inscritos aux = arrayhombres[k];
                    arrayhombres[k] = arrayhombres[k + 1];
                    arrayhombres[k + 1] = aux;
                }
            }
        }
    for (int j = arraymujeres.length - 1; j > 0; j--) {
        for (int k = 0; k < j; k++) {
            if (arraymujeres[k].getTiempocarrera() < arraymujeres[k + 1].getTiempocarrera()) {
                inscritos aux = arraymujeres[k];
                    arraymujeres[k] = arraymujeres[k + 1];
                    arraymujeres[k + 1] = aux;
            }
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar