Esercizio - Inverso di un array

di il
6 risposte

Esercizio - Inverso di un array

Salve ragazzi, sono alle prime armi con java e mi affido a voi per svolgere questo esercizio :
- Scrivere un metodo int [] inverso(int[] v) che crea e restituisce l'array inverso di v -

/* L'inverso di un array */


class Inverso {
public static int[] inverso(int[] v){
int[] inv;
int i;
int l;

l = v.length;
inv = new int[l];
for (i=0; i< l; i++)
inv[i] = v[l-i-1];

return inv;
}
public static void main(String[] args) {
int[] v = new int[] {1, 3, 5, 6, 8};

System.out.println("L'array iniziale è: ");

System.out.println(v);

System.out.println("L'array inverso è: ");


System.out.println(inverso(v));


}
}
Il problema è che quando vado a stampare sul terminale mi visualizza : [I@4b71bbc9 e [I@5e8fce95….. HELP ME PLEASE! Grazie in anticipo

6 Risposte

  • Re: Esercizio - Inverso di un array

    Feest ha scritto:


    Il problema è che quando vado a stampare sul terminale mi visualizza : [I@4b71bbc9 e [I@5e8fce95…..
    Semplicemente perché gli array non ridefiniscono il toString() ... rimane quello "ereditato" da Object che è in grado di fornire solo quella forma di informazione per un array.

    O fai un ciclo for e stampi ciascun elemento oppure usi il metodo statico toString() di java.util.Arrays.
  • Re: Esercizio - Inverso di un array

    Innanzitutto grazie per aver risposto…. !
    guarda io avevo già provato a usare il ciclo for soltanto che mi dava lo stesso errore forse sbagliavo in qualche passaggio.. non è che per caso mi inseriresti i passaggi tu? (Spero di non chiederti troppo )
  • Re: Esercizio - Inverso di un array

    Feest ha scritto:


    Innanzitutto grazie per aver risposto…. !
    guarda io avevo già provato a usare il ciclo for soltanto che mi dava lo stesso errore forse sbagliavo in qualche passaggio.. non è che per caso mi inseriresti i passaggi tu? (Spero di non chiederti troppo )
    O fai
    System.out.println(Arrays.toString(v));
    il formato è fisso e comprende due parentesi quadre [ ] a inizio/fine con i valori separati da virgola-spazio.

    (chiaramente import java.util.Arrays; o import java.util.*; all'inizio)

    oppure es.
    for (int i = 0; i < v.length; i++) {
        System.out.print(v[i]);
        System.out.print(" ");
    }
    System.out.println();
    Il secondo è solo più noioso a seconda di come vuoi formattare la sequenza.
  • Re: Esercizio - Inverso di un array

    In questo caso io stampo l'array v, dovrei invece stampare quello inverso ovvero {8, 6, 5,3, 1 }…. >_<
  • Re: Esercizio - Inverso di un array

    Feest ha scritto:


    In questo caso io stampo l'array v, dovrei invece stampare quello inverso ovvero {8, 6, 5,3, 1 }…. >_<
    Scusa ma quale è il problema? Quel 'v' può essere l'array che ti pare .... se è l'array è il valore di ritorno di inverso(), è ovviamente sensato (e meglio) assegnare ad una variabile (es. v2) e usarla dove io ho indicato 'v'.

    P.S. e se intendi usare l'opzione del ciclo for, nessuno ti vieta (anzi è ancora più sensato e appropriato) fare un metodo statico apposito che stampa un array.
  • Re: Esercizio - Inverso di un array

    Risolto, grazie per la pazienza
Devi accedere o registrarti per scrivere nel forum
6 risposte