ho fatto questo programmino ma non funziona come risultato mi da lo stesso array iniziale dove ho sbagliato??
creazione array
codice:
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;
}
}
ordinamento
codice:
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);
}
}
}
main
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(" ");
}
}
}