Originariamente inviato da dik1992
ho fatto questo programmino ma non funziona come risultato mi da lo stesso array iniziale dove ho sbagliato??
creazione array
ordinamentocodice:import javax.swing.JOptionPane; public class creaArray { public String[] nuovoArray (int length){ String[] a = new String[length]; for (int i = 0; i<length; i++){ a[i] = JOptionPane.showInputDialog("inserire una parola"); } return a; } }
maincodice:public class selection { private String[] a; public selection(String anArray[]){ a = anArray; } public void swap(int i, int j){ String temp = a[i]; a[i] = a[j]; a[j] = temp; } public int posizioneMinima(int from){ int minPos = from; for(int i = from+1; i<a.length; i++){ if(a[i].equalsIgnoreCase(a[minPos] )){ minPos = i; } } return minPos; } public void sort(){ for (int i = 0; i<a.length-1; i++){ int minPos = posizioneMinima(i); swap(minPos,i); } } }
codice:import javax.swing.JOptionPane; public class selectionMain { public static void main(String[] args) { creaArray arr = new creaArray(); int length = Integer.parseInt(JOptionPane.showInputDialog("inserire numero parole")); String[] a = arr.nuovoArray(length); for (int i = 0; i <a.length;i++){ System.out.print(a[i]); System.out.print(" "); } selection sel = new selection(a); sel.sort(); System.out.println(" "); for(int j=0; j<a.length; j++){ System.out.print(a[j]); System.out.print(" "); } } }
RISOLTO!!!!!!