esercizio sugli array

Blog Forum Java esercizio sugli array

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #5955
    simone
    Partecipante
    Up
    1
    Down
    ::

    Scrivere un programma che sposta in avanti il numero in un array di interi. L’ultimo numero prende la posizione 0.

    Esempio:

    L’array dato è {4,9,3,7}

    Risultato previsto {7,4,9,3}

    avevo sviluppato questo programma:
    int[] r = {4,9,3,7}; //Risultato previsto {7,4,9,3}

    int index = r.length-1;
    for (int i=0; i <= r.length/2; i++) {
    int tmp = r[i];
    r[i] = r[index];
    r[index]= tmp;
    index–;

    for( int k=0; k<=r.length; k++) {
    System.out.print(r[k]);
    lanciando però il run mi rimanda questa eccezione:
    7934Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
    at esercizio1.esercizio1.main(esercizio1.java:20)
    ho notato anche che mi ha scambiato solo i valori agli estremi ( 7 e 4) e non quelli centrali, come mai?

    grazie

    #5956
    Antonio Pagano
    Amministratore del forum
    Up
    0
    Down
    ::

    Ciao, una possibile soluzione è:
    https://pastebin.com/VKfJRMGu

    #5957
    simone
    Partecipante
    Up
    0
    Down
    ::

    professore ho risolto in questo modo, solo che oltre alla soluzione mi rimanda ad’eccezione:

    int[] r = {4,9,3,7}; //Risultato previsto {7,4,9,3}

    int index = r.length-1;
    for (int i=0; i <= r.length; i++) {
    int tmp = r[i];
    r[i] = r[index];
    r[index]= tmp;
    System.out.println(r[i]);

    }

    7
    4
    9
    3
    Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
    at esercizio1.esercizio1.main(esercizio1.java:14)

    esercizio1.java:14 equivale a questa riga: int tmp = r[i];

    #5961
    Antonio Pagano
    Amministratore del forum
    Up
    0
    Down
    ::

    il problema dovrebbe essere il for. Deve essere:
    i < r.length
    altrimenti va oltre la grandezza dell’array.

    PS per una interazione più veloce, con la community, puoi usare discord.
    Il link è nella email di benvenuto. Se non funziona mandami un messaggio e te lo re-invio.

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo topic.