ho provato a ordinarlo per voto facendo così
ordina.java
ordinamento.javacodice:public class ordina { private String nom; private String cogn; private int vot; public ordina(String nome,String cognome,int voto){ nom=nome; cogn = cognome; vot=voto; } public String getnom(){ return nom; } public String getsurname(){ return cogn; } public int getresult(){ return vot; } }
ordinaomain.javacodice:public class ordinamento { private int[] a; public ordinamento(int[] vot){ a = vot; } public void sort(){ for(int i =0; i<a.length - 1 ; i++){ int minPos = minimumPosition(i); swap(minPos, i ); } } private int minimumPosition(int from){ int minPos = from; for(int i = from+1; i <a.length; i++){ if(a[i] <a[minPos] ){ minPos = i; } } return minPos; } private void swap(int i , int j){ int temp= a[i]; a[i] = a[j]; a[j] = temp; } }
e ovvio che sta qualcosa di sbagliato nella classe ordinamento oppure ho sbagliato a dichiararla nel main cosa sta sbagliato???codice:import javax.swing.JOptionPane; public class ordinamain { public static void main(String[] args) { String n; String c; int v; ordina[] ord = new ordina[3]; ordinamento or = new ordinamento(); //mi da errore for(int i = 0; i <3;i++){ n=JOptionPane.showInputDialog("inserire nome alunno"); c= JOptionPane.showInputDialog("inserire cognome alunno"); v= Integer.parseInt(JOptionPane.showInputDialog("inserire voto alunno")); ord[i]= new ordina(n,c,v); or = new ordinamento(v); //mi da errore } } }

Rispondi quotando