Invierta el contenido de la matriz

Esto es lo que necesito hacer

Capacidad para revertir el contenido de una matriz tridimensional única de tamaño variable, sin utilizar otra matriz temporal.

Dada una matriz tridimensional única de números enteros, escriba el código Java para invertir el contenido de los números en el lugar sin usar una matriz temporal para almacenar el contenido invertido. Por ejemplo, si los números son {12, 34, 50, 67, 88}, proporcione un código que altere los números para que su contenido ahora se convierta en {88, 67, 50, 34, 12}.

Esto es lo que tengo , no funciona correctamente.

public static int[] reverseArrayWithoutTempArray(int[] array) {

        double array [ ];

        array = new double [10];
        int [ ] num = {12, 34, 50, 67, 88};
        int i = 0;
        int  j = a.length - 1;
        for (i = 0; i < a.length / 2; i++, j—){
            int temp = a[i];
            a[i] = a[j];
            a[j] = temp;
          }
        return array;
    }
Respuesta 1

Realmente funciona correctamente para el ejemplo que proporcionó. Así es como se ve mi código:

    public static int[] reverseArrayWithoutTempArray(int[] a) {
    int i = 0;
    int  j = a.length - 1;
    for (i = 0; i < a.length / 2; i++, j--){
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
      }
    return a;
}
Respuesta: 2

Eso es:

public static void reverseArrayWithoutTempArray(int[] num) {
     int  j = num.length - 1;
     for (int i = 0; i < num.length / 2; i++, j --){
        int temp = num[i];
        num[i] = num[j];
        num[j] = temp;
     }
}

Llamar a este método será como:

int [] num = {12, 34, 50, 67, 88};
reverseArrayWithoutTempArray(num);
System.out.println(Arrays.toString(num)); //to log
Respuesta: 3

Su algoritmo básico es correcto, pero su código es un completo desastre.

  • arrayse declara dos veces, una como parámetro de método y otra como variable local. Deshágase de la referencia local.
  • La matriz num se ignora y no se necesita de ninguna manera, deshazte de ella.
  • No sé si es un error tipográfico o no, pero j—debería serj--
Respuesta: 4

¿Esto funciona? (el método de intercambio no está implementado, pero sabes cómo hacerlo, ¿verdad?)

public static void reverseIntArray(int[] input) {

        final int last = input.length - 1;
        if (last < 0) {
            return;
        }
        for (int i = 0; i < input.length / 2 + 1; i++) {
            if (last - i <= i) {
                return;
            }
            swap(input, i, last - i);
        }

    }
Respuesta: 5

Si esto no es trabajo de curso, puedes usarlo ArrayUtils.reverse.

Respuesta: 6

Tengo una expresión regular para extraer dos tokens, delimitadores ['] y palabras entre apóstrofes como' Desbordamiento de pila '. La pregunta es, ¿por qué esta expresión regular no funciona? Regex: ([']) |' ([^ '] *) ...

Tengo un JPanel que tiene 2+ JLables, me gustaría poder tomar una etiqueta y luego moverla a una ubicación diferente en el JPanel. ¿Cómo puedo hacer eso? Las únicas cosas que puedo encontrar en esto son conmovedoras ...

¿Por qué necesitarías crear un cargador de clases personalizado? ¡Un ejemplo del mundo real sería genial!

Eche un vistazo al siguiente código import java.awt.event. *; import javax.swing. *; import java.awt. *; clase pública JCombo extiende JFrame {JComboBox com1; JCombo público () {...