Salve a tutti.
Sono alle prese con il seguente esercizio Java:
Scrivere un programma java che legga da tastiera una sequenza di interi e li memorizzi in un array.
Il valore "0" permette di terminare. Se durante il ciclo di inserimento l'array viene riempito, creare un nuovo array di dimensione doppia rispetto al precedente; nella prima metà del nuovo array copiare gli elementi dell'array di partenza, mentre nella seconda metà inserire gli elementi da tastiera.
il codice che ho scritto è il seguente
Il problema che riscontro nell'esecuzione del programma è quello di non riuscire ad interrompere l'inserimento della sequenza di interi quando digito il carattere "0".codice:public class DoppioArray { public static void main(String[] args) { InputWindow in = new InputWindow(); OutputWindow out = new OutputWindow(); final int MAX = 10; int[] tabella = new int[MAX]; int i = 0; int x = in.readInt("Inserisci elemento"); while(x != 0){ if(i<tabella.length){ tabella[0]=x; for(i=1; i<tabella.length; i++){ x=in.readInt("Inserisci elemento"); tabella[i]=x; } for(i=0; i<tabella.length; i++) out.write(tabella[i] + " "); out.writeln(); } else{ int[] doppio = new int[MAX*2]; for(i=0; i<tabella.length; i++) doppio[i]=tabella[i]; for(i=tabella.length; i<doppio.length; i++){ x = in.readInt("Inserisci elemento"); doppio[i]=x; } for(i=0; i<doppio.length; i++){ out.write(doppio[i] + " "); } } } } }
Cosa c'è che sbaglio?
Qualcuno può aiutarmi?
Grazie