import javax.swing.*; class MassimoArrayDiDouble2 { public static void main(String[] args) { String stringaInput; double[] movimenti = new double[10]; boolean inserimentoCorretto; int numeroInserimenti; for(int i=0; i<movimenti.length; i++) { inserimentoCorretto=false; numeroInserimenti=0; while(inserimentoCorretto==false) { if(numeroInserimenti==0) stringaInput = JOptionPane.showInputDialog( "Inserisci l'elemento in posizione " + i); else stringaInput = JOptionPane.showInputDialog( "ATTENZIONE, hai immesso una stringa!\n" + "Inserisci invece l'elemento in posizione " + i); try { movimenti[i] = Double.parseDouble(stringaInput); inserimentoCorretto=true; } catch(NumberFormatException e2) { inserimentoCorretto=false; numeroInserimenti++; } catch(NullPointerException e2) { JOptionPane.showMessageDialog(null, "Arrivederci a presto!"); System.exit(0); } } } double minimo, massimo; int posizioneMassimo, posizioneMinimo; minimo = movimenti[0]; posizioneMinimo = 0; massimo = movimenti[0]; posizioneMassimo = 0; for(int i=1; i<movimenti.length; i++) { if(movimenti[i] > massimo) { massimo = movimenti[i]; posizioneMassimo = i; } if(movimenti[i] < minimo) { minimo = movimenti[i]; posizioneMinimo = i; } } JOptionPane.showMessageDialog(null, "Il massimo è " + massimo + " in posizione " + posizioneMassimo + "\n" + "mentre il minimo è " + minimo + " in posizione " + posizioneMinimo); System.exit(0); } }