Ciao a tutti.
Sono alle prese con il seguente esercizio:
"Scrivere un programma java che legga da tastiera una sequenza di numeri interi e la memorizzi in un array. Il valore "0" indica la fine della sequenza.
Se l'array viene riempito, crearne uno nuovo di dimensione doppia rispetto al precedente; nella prima metà copiare gli elementi dell'array di partenza, nella seconda metà continuare ad inserire altri elementi da tastiera. Lo zero indica sempre la fine della sequenza".
Il codice che ho inserito è il seguente:
Il problema che riscontro è che anche se inserisco il valore 0, il programma non esce dalla sequenza e mi continua a chiedere di inserire altri valori.
Cosa c'è che sbaglio?
Grazie
Sono alle prese con il seguente esercizio:
"Scrivere un programma java che legga da tastiera una sequenza di numeri interi e la memorizzi in un array. Il valore "0" indica la fine della sequenza.
Se l'array viene riempito, crearne uno nuovo di dimensione doppia rispetto al precedente; nella prima metà copiare gli elementi dell'array di partenza, nella seconda metà continuare ad inserire altri elementi da tastiera. Lo zero indica sempre la fine della sequenza".
Il codice che ho inserito è 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] + " ");
}
}
}
}
}
Cosa c'è che sbaglio?
Grazie