Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
331 views
in Technique[技术] by (71.8m points)

sorting - how to display a matrix in a descending and ascending form in a jtextArea java with Array.sort

I need to sort the matrix in descending and ascending order but print it as a 1 dimension array. Currently it sorts in ascending order but only the last row and I don't know how to show all the rows and I don't know how to sort it in a descending way.

 public void mostrarMatriz (int matriz[][], int n){
        
        DefaultTableModel model = (DefaultTableModel) tablaMatriz.getModel();
        
        model.setRowCount(n);
         
        model.setColumnCount(n);
       
        for(int i = 0; i < n ; i++){
            
            for(int j = 0; j < n; j++){
               
                tablaMatriz.setValueAt(matriz[i][j], i, j);
          
            } 
        }
        
            for(int[] i: matriz){   
            Arrays.sort(i);
            txtMenor.setText(Arrays.toString(i));
        }   
       
    }
question from:https://stackoverflow.com/questions/65948023/how-to-display-a-matrix-in-a-descending-and-ascending-form-in-a-jtextarea-java-w

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

The loop should append the text, instead of resetting it at each iteration:

String text="";
for(int[] i: matriz)
{   
   Arrays.sort(i);
   text+=Arrays.toString(i)+" ";
}
if (!text.isEmpty())
    txtMenor.setText(text.subString(0,text.length()-1));

Contrary order, just flip it after:

Collections.reverse(Arrays.asList(matriz)); 
txtX.setText(Arrays.deepToString(matriz));

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...