Java - NECESITO INVERTIR UN VECTOR

 
Vista:

NECESITO INVERTIR UN VECTOR

Publicado por Tito Vega (1 intervención) el 04/05/2018 23:44:42
AYUDA :C Quiero invertir un vector Al ingresar los valores " 1, 2, 3, 4, 5, 6, 7, 8" Me da como como resultado:

0
7
6
5
4
3
2
1

Este es el 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
public void ValidateRut() {
 
    String Rut = RutInicial.getText();
 
    char[] ARRAY = Rut.toCharArray();
    int[] NUMBERS = new int[8];
    for (int i = 0; i < ARRAY.length - 1; i++) {
        NUMBERS[i] = Integer.parseInt(String.valueOf(ARRAY[i]));
        //System.out.println(NUMBERS[i] + "");
    }
 
    int Box;
    int[] Numbers=new int[NUMBERS.length];
    for (int i = 0; i <= NUMBERS.length / 2; i++) {
 
         Box = NUMBERS [i];
    Numbers[i]= NUMBERS [(NUMBERS.length-1)-i];
    Numbers [(NUMBERS.length-1)-i]=Box;
    }
 
    for (int i = 0; i < Numbers.length; i++) {
        System.out.println(Numbers[i] + " ");
    }
 
}
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 kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

NECESITO INVERTIR UN VECTOR

Publicado por kingk (108 intervenciones) el 05/05/2018 06:04:39
Hola, supongo que el array de elementos char, tiene los números del 1 al 8 que introduces en el array NUMBERS. Siendo así, el error esta aquí:
1
2
3
4
5
6
char[] ARRAY = Rut.toCharArray();
int[] NUMBERS = new int[8];
for (int i = 0; i < ARRAY.length - 1; i++) { //Linea que genera el error
    NUMBERS[i] = Integer.parseInt(String.valueOf(ARRAY[i]));
    //System.out.println(NUMBERS[i] + "");
}

El forma recorre solo hasta la posición 6, por lo tanto llena del 1 al 7 y la posición donde debería estar el 8 se queda en 0. Debería ser así:
1
2
3
4
5
6
char[] ARRAY = Rut.toCharArray();
int[] NUMBERS = new int[8];
for (int i = 0; i < ARRAY.length ; i++) {
    NUMBERS[i] = Integer.parseInt(String.valueOf(ARRAY[i]));
    //System.out.println(NUMBERS[i] + "");
}
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