Мне нужно написать код для загрузки квадратной матрицы, затем поменять местами первую строку со строкой с наибольшим элементом в первом столбце, а затем распечатать обмененный массив.
Я могу получить самый большой элемент первого столбца, но я не знаю, как сделать обмен.
import java.io.*;
import java.util.*;
import static java.lang.System.out;
class Matriz4_Metodos{
static String cadena;
static InputStreamReader entrada = new InputStreamReader(System.in);
static BufferedReader recibedatos = new BufferedReader(entrada);
public static void main (String[] args) throws java.io.IOException {
int n,mayor=0;
n=LeerNumero("Ingresa el numero de los renglones y columnas:");
int Matriz[][] = new int [n][n];
Matriz=CargarMatriz(Matriz);
ImprimirMatriz(Matriz);
out.println("\nEl mayor de la primera columna es:"+EncontrarMayor(Matriz,mayor));
}
public static int LeerNumero (String msgtxt) throws java.io.IOException{
do{
int xnm;
out.print(msgtxt);
cadena=recibedatos.readLine();
try{
xnm=Integer.parseInt(cadena);
if (xnm<0){
out.println("Solo positivos");
continue;
}
return xnm;
}
catch (NumberFormatException e){
out.println("Numero de dato incorrecto");
}
}while(true);
}
public static int[][] CargarMatriz (int xMatriz[][]) throws java.io.IOException{
Random Aleatorio =new Random();
int nal;
for(int i=0; i<xMatriz.length; i++){
for(int j=0; j<xMatriz[0].length; j++){
nal=Aleatorio.nextInt(10);
xMatriz[i][j]=nal;
}
}
return xMatriz;
}
public static void ImprimirMatriz (int xMatriz[][]){
out.println("\n");
for(int i=0; i<xMatriz.length; i++){
for(int j=0; j<xMatriz[0].length; j++){
out.print(xMatriz[i][j]+" ");
}
out.println("\n");
}
}
public static int EncontrarMayor (int xMatriz[][],int xmayor) throws java.io.IOException {
xmayor=0;
for(int i=0; i<xMatriz.length; i++){
for(int j=0; j<xMatriz[0].length; j++){
if(j==0){
if(xMatriz[i][j]>xmayor){
xmayor=xMatriz[i][j];
}
}
}
}
return xmayor;
}
}