[java] problema esercizio array

Andrespo

Nuovo Utente
3 Giu 2018
6
0
1
Ciao a tutti, come da titolo ho avuto un problema con un esercizio in java sugli array.
Premetto che ho appena incominciato a studiare il linguaggio Java.
Vorrei stampare il mio array alternando i suoi elementi ....
esempio -> primo, ultimo,secondo, penultimo...etc

Il mio programma è questo..

Codice:
package javaapplication41;
public class JavaApplication41 {
    public static void main(String[] args) {
        int numeri[] = {1,2,3,4,5,6,7,8,9,10};
        int l = numeri.length;
        for( int i = 0; i < l; i++ )
        {
                System.out.println(numeri);
                System.out.println(numeri[l-i]);                line 21
        }
    }
}

il programma mi da il seguente errore...
run:
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at javaapplication41.JavaApplication41.main(JavaApplication41.java:21)
C:\Users\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

Grazie in anticipo per il vostro aiuto
 
Ultima modifica:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
@Andrespo
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
Evita anche di mettere una riga vuota tra istruzione e istruzione altrimenti diventa talmente lungo e illegibile
 

Raziel84

Nuovo Utente
4 Giu 2018
5
0
1
Anch'io ho da poco iniziato con java e un esercizio simile credo di averlo già svolto. Devi imparare a ragionare per indici con gli array (e le matrici) per poter scorrere i suoi elementi e trovare soluzioni idonee a seconda degli strumenti in tuo possesso.
Il mio consiglio è quello di usare due indici e una variabile temporanea per immagazzinare il dato da transitare. Se devi spostare il primo elemento alla fine, il secondo che diventa penultimo, e così via... allora il codice che potresti usare sarebbe:

Codice:
// Prima del main
import java.util.Arrays;

// Ciclo da usare dentro il main
for (int i = 0, j = numeri.lenght-1; i < numeri.lenght/2; i++, j--)
{
int temp = numeri[i];
numeri[i] = numeri[j];
numeri[j] = temp;
}

System.out.println(Arrays.toString(numeri));

In pratica ottieni tutto l'array capovolto. Spero di esserti stato utile.
 

Andrespo

Nuovo Utente
3 Giu 2018
6
0
1
@Raziel84
Ciao Raziel84, prima di tutto vorrei ringraziarti per la tua risposta.:)
Quello che cercavo di capire però era il perché mi uscisse tale errore nel mio programma(non credo di aver scritto nulla di sbagliato).
 

Raziel84

Nuovo Utente
4 Giu 2018
5
0
1
Da errore perchè si stampa nel System della tua linea 21 un valore che sfora il limite array.
Ricordati che l'array che hai creato ha lunghezza 10, ma i valori in esso contenuti sono memorizzati nelle posizioni che vanno da 0 a 9! Appena entra nel for con i = 0, l'operazione che viene eseguita nel System interpreta l'istruzione come "stampa l'elemento presente nella casella numeri[l-i]". Ma se l = numeri.lenght (cioè 10) e i = 0 allora capisci che non c'è nessun valore da stampare in posizione 10! E quindi ecco l'errore OutOfBounds.
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [java] problema esercizio Java 0
F NetBeans problema creazione progetto Java Windows e Software 0
N [Java]problema jasper report dopo compilazione file .jar Java 0
Sevenjeak [Java EE] Problema JUnit e alcuni chiarimenti su jee Java 0
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
D Problema Java da risolvere Java 3
G Problema con algoritmo ricorsivo [backtracking] java Java 0
G Problema Firefox 32.0.3 e Sun Java Windows e Software 2
voldemort Java e problema compressione/decompressione LZW Java 0
A [Java] Problema con la dimensione di un jframe Java 2
A Problema gestione galleria fotografica in java Javascript 4
T java-problema con i file wav Java 0
T problema connessione db java Java 4
L Problema con finestre IE e java Windows e Software 1
U Problema java con <div> Javascript 0
T [Java] semplice problema Java 2
T [Java] Problema evento Java 1
A (Java) problema con iteratori Java 1
P Problema con java Java 2
F problema di applet-java Javascript 1
B [Java] Problema cn EircApplet Java 0
L java api_google Javascript 0
Z [java] bufferizzare stream audio da mic Java 1
L java + Api di google Javascript 1
A [Cerchiamo] [Retribuito/a] "Java Solution Architect" Offerte e Richieste di Lavoro e/o Collaborazione 1
F Script java elenco alfabetico non funziona Javascript 3
C Serializzazione in java Java 1
M AIUTO ESERCIZIO JAVA Javascript 1
M Ripasso Java Offerte e Richieste di Lavoro e/o Collaborazione 0
F [OFFRO - RETRIBUITO] Sviluppatori JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
L leggere RGB di un pixel dello schermo in java Java 1
I Creazione programmino JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
F Aiuto java script Javascript 2
T [Java] tipi generici con esempio pratico Java 1
J File audio in java Java 0
V [JAVA] come integrare un software scritto in java su una pagina web? Java 4
C Java client / server Java 0
F [OFFRO][RETRIBUITO] PROGRAMMATORE JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
C [Java] testare un metodo con Junit Java 1
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
S [OFFRO] Debug delle tue applicazioni Java Offerte e Richieste di Lavoro e/o Collaborazione 1
L [Java] Aggiungere elementi ad array JSON Java 0
B [Java] Paginazione in risposta HTTP Java 0
A [Java]Date diminuite di un giorno su db MySQL Java 0
K [Java] aiuto switch case Java 1
P [Java] limite destro di un JFrame Java 5
D [Java] far partire JProgressBar all'apertura di un JFrame Java 1
N [java con eclipse]metodo ricorsivo che accetta in ingresso un char e restituisce un int Java 0
A Verifica validità data in Java Java 2
L [Java] Errore json conversione Java 0

Discussioni simili