Ho fatto un altro esercizio con l'arrayList
Secondo voi avrei potuto farlo meglio? consigli?
package vacanze_estive_15;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Vacanze_estive_15 {
public static void main(String[] args) {
int g;
String gr;
boolean b;
String o = "Questo è il vettore originale:\n";
do {
gr = JOptionPane.showInputDialog("Inserisci la grandezza del vettore (minore di 20)");
g = Integer.parseInt(gr);
} while (g >= 20);
int v[] = new int[g];
ArrayList<Integer> l = new ArrayList<Integer>();
for (int i = 0; i < v.length; i++) {
gr = JOptionPane.showInputDialog("Inserisci il " + (i + 1) + "° numero del vettore");
v[i] = Integer.parseInt(gr);
o += v[i] + " ";
b = false;
if (v[i] != 0) {
for (int c = 0; c < i; c++) {
if (v[c] == v[i]) {
b = true;
}
}
} else {
b = true;
}
if (!b) {
l.add(v[i]);
}
}
JOptionPane.showMessageDialog(null, o + "\nMentre quello modificato è:\n" + l);
}
}
la consegna:
Scrivere un programma che legge N numeri interi da tastiera e li memorizza in un vettore. Il numero N viene inserito dall’utente ed è minore di 20. Il programma deve generare un secondo vettore che compatta i numeri contenuti nel primo vettore. In
particolare:
1) ogni numero che compare ripetuto nel primo vettore, deve comparire una sola volta nel secondo vettore
2) ogni numero uguale a zero presente nel primo vettore non deve comparire nel secondo vettore.