Java metodo array

di il
7 risposte

Java metodo array

Salve, sto facendo un esercizio di una classe "MioArray" che implementa vari metodi. sotto la classe ho inserito private int[] array; e subito sotto ho creato un costruttore MioArray dove ho scritto this.array per creare questo array di base che andrò a testare in un altra classe. Tra i tanti metodi c'è questo metodo "scambia".
Traccia:
scambia, che date in ingresso due posizioni intere, scambia i valori presenti nelle due posizioni dell’array (es. scambia(1, 3) trasforma l’array { 1, 2, 3, 4,5 } in { 1, 4, 3, 2, 5 })


Io ho scritto:
public int[] scambia(int pos1, int pos2)
{
int pos0 = array[pos2];

array[pos2] = array[pos1];
array[pos1] = pos0;

return array;
}

I due valori in input sono le posizioni dell'array da scambiare. Cosi non funziona niente.. se nell'altra classe vado a testare mi esce questo "[I@15db9742". Consigli? Scrivo sempre tutto senza valori perchè, come detto prima, il prof ha detto di testare in un altra classe.
In questo esercizio non posso usare il for ma solo l'if (se necessario), quando ha dato questo esercizio non aveva ancora spiegato il for in java..

7 Risposte

  • Re: Java metodo array

    Beh l'algoritmo non è sbagliato.
    sta a vedere cosa vai a stampare....
  • Re: Java metodo array

    Public class TestArrayDaCompletare {

    public static void main(String[] args) {

    MioArrayDaCompletare prova = new MioArrayDaCompletare(new int[] {1,2,3,4,5,6,7});





    System.out.println(prova.scambia(1,2));



    Ho scritto questo nel test. MioArrayDaCompletare sarebbe l'altra classe dove c'è il metodo scambia. A stampare mi stampa qualcosa ma stampa questo.. [I@15db9742
  • Re: Java metodo array

    Come facilmente immaginabile.. non puoi stampare direttamente l'array, devi utilizzare un ciclo for per scorrere i vari elementi e stamparli singolarmente.
  • Re: Java metodo array

    Per questo gli ho scritto di postarmi la stampa....
    
    public class TestArrayDaCompletare {
    
         public static void main(String[] args) { 
              int[] in_array={1,2,3,4,5,6,7};
              MioArrayDaCompletare prova = new MioArrayDaCompletare(in_array);
              int[] out_array=prova.scambia(1,2);
             //se non puoi usare il ciclo for
             System.out.println(out_array[0]+","+out_array[1]
                                            +","+ out_array[2]+","+out_array[3]+","+
                                      out_array[4]+","+out_array[5]+","+out_array[6]);
             //se usi il ciclo for
             for(int i=0; i<prova.length; i++){ 
                   System.out.print(out_array[i]+", ");
    
    
    Ciao
  • Re: Java metodo array

    Grazie mille!
  • Re: Java metodo array

    Scusa, un ultima cosa poi non ti disturbo più xD
    Mi sono ricordato ora che, qualche giorno fa, stavo leggendo in giro su google che si poteva stampare l'array anche con il metodo .toString o qualcosa del genere. Non ricordo molto bene com'era.. C'è qualcosa di simile?
  • Re: Java metodo array

    Leggi questo

    http://it.m.wikihow.com/Stampare-il-Contenuto-di-un-Array-in-Java
Devi accedere o registrarti per scrivere nel forum
7 risposte