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
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] + " ");
}
}
}
}
}
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".
Cosa c'è che sbaglio?
Qualcuno può aiutarmi?
Grazie