prueba este los ordena bien menos a mayor y mayor a menor pero el promedio si no se si es asi.
import java.io.IOException;
import java.util.Iterator;
import java.util.Scanner;
import java.util.SortedSet;
import java.util.TreeSet;
class funciones {
/**
* Method llenar
*
*/
public static void llenar(int m[][],int nroRows) {
int j,i,x=0;
for (i=0; i<m.length; i++){
for (j=0;j<nroRows;j++){
m[i][j]= x;x++;
}
}
}
/**
* Method promedio
* @return
*/
public static double promedio(int m[][], int tam1,int n) {
int c=tam1;
int j,sum=0;
double promedio =0;
for (j=0;j<tam1;j++){
sum+=m[n][j];
promedio = sum/c;
return promedio;
}
return promedio;
}
/**
* Method ordenar1
* @param b
*
*
*/
public static void ordenar1(int m[][],int n, boolean b) {
SortedSet<Integer> sortedSet = null;
if(b){
for(int index=0;index<m.length;index++){
sortedSet = new TreeSet<Integer>();
for(int j=0;j<n;j++){
sortedSet.add(m[index][j]);
}
Iterator<Integer> s=sortedSet.iterator();
int x=0;
while(s.hasNext()){
m[index][x]=s.next();
x++;
}sortedSet.clear();
}
}else{
for(int index=0;index<m.length;index++){
sortedSet = new TreeSet<Integer>();
for(int j=0;j<n;j++){
sortedSet.add(m[index][j]);
}
Iterator<Integer> s = sortedSet.iterator();
int ins[] = new int[n];
int i=0;
while(s.hasNext()){
ins[i]= s.next();
i++;
}
i=0;
for(int y=n;y>0;y--){
m[index][i]=ins[y-1];
i++;
}
}
}
}
/**
* Method mostrar1
*
*
*/
public static void mostrar1(int m[][],int tam1) {
int i,j;
for (i=0;i<m.length;i++){
System.
out.
print("Columna: "+i
+" Promedio= "+funciones.
promedio(m, tam1, i
)+" = ");
for (j=0;j<tam1;j++){
System.
out.
print (+m
[i
][j
]+ ": "); }
}
System.
out.
println("----------------------------");; }
}
public class mainmain {
/**
* lee matriz
* saca el promedio
* ordena de menor a mayor
* ordena de mayor a menor
*
*
* @param args
*
*/
Scanner en
= new Scanner
(System.
in); int [][]m;
int nroColumn =0;
int nroRows =0;
System.
out.
println("----------------------------"); System.
out.
print ("Inserte No. Columnas: "); nroColumn = en.nextInt();
System.
out.
print ("Inserte Nro. Filas : "); nroRows = en.nextInt();
System.
out.
println("---------------------------"); m = new int [nroColumn][nroRows];
funciones.llenar (m,nroRows);
// funciones.promedio (m,nroRows);
System.
out.
println("Ordenar de Menor a Mayor S/N"); if(select.equals("S") || select.equals("s")){
funciones.ordenar1 (m,nroRows,true);
funciones.mostrar1(m, nroRows);
}else{
funciones.ordenar1 (m,nroRows,false);
funciones.mostrar1 (m,nroRows);
}
}