Myslim ze todle nijak osetřeny neni a prostě to bude překladat presne tak jak to je napsany, celej kod výše se da sbouchnout na polovinu. Zhruba takhle:
import java.util.Random;
public class Program {
Random rd = new Random();
int pole[][] = new int[5][5];
void vygenerujPole() {
for (int i = 0; i < pole.length; i++) {
for (int j = 0; j < pole.length; j++) {
pole[i][j] = rd.nextInt(11); //generuje jen od 0 do 10
//pole[i][j] = -100 + rd.nextInt(201); //generovani v intervalu <-100,100>
//pole[i][j] = min + generator(max - min +1);
}
}
}
void vypisPole(){
for (int i = 0; i < pole.length; i++){
for (int prvek: pole[i]) System.out.printf("% 5d", prvek);//for-each cyklus
//vypsani každeho řadku jako pole(matice je pole polí -> každý řádek je pole)
System.out.println(""); //odřadkovani za každym řadkem matice
}
System.out.println(""); //odřadkovani za matici
}
void prohoditPole() {
for (int i = 0; i < pole.length; i++) {
for (int j = i; j < pole.length; j++) {
int pom = pole[i][j];
pole[i][j] = pole[j][i];
pole[j][i] = pom;
}
}
}
public static void main(String[] args) {
Program matice = new Program();
matice.vygenerujPole();
matice.vypisPole();
System.out.println("Prohození podle hlavní diagonály");
matice.prohoditPole();
matice.vypisPole();
}
}
BTW Nic to ale neměni na tom, že ta metoda prohodPole() tak, jak je napsana tazatelem, v podstate nic nedela.