Estou com dúvida em todo esse código. Já aqui no primeiro bloco, return x faz chamada pra quem?
E o return r?
import java.util.*;
class Matrizes{
public static int lerDimensaoMatriz(String y){
Scanner s = new Scanner(System.in);
int x;
System.out.print ("digite "+y+ ": ");
x = s.nextInt();
return x;
}
public static void lerMatriz(double a [][]){
Scanner s = new Scanner(System.in);
for (int i = 0; i < a.length; i++){
for (int j = 0; j < a[i].length; j++){
System.out.print ("[" + i + "," + j + "] = ");
a [i][j] = s.nextDouble();
}
}
}
public static char lerOpcao(){
Scanner s = new Scanner(System.in);
char r;
System.out.println();
System.out.print ("opcoes: a, b, c, d, e, f, g, h - qq outra letra encerra ");
r = s.nextLine().toLowerCase().charAt(0);
return r;
}
public static void matrizLida(double a[][],String c){
System.out.println (c);
for (int i = 0; i < a.length; i++){
for (int j = 0; j < a.length; j++){
System.out.print (a[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
public static void main(String args []){
double a[][];
char opcao=' ';
String opcoes = "abcdefgh";
int m = lerDimensaoMatriz("numero de linhas/colunas da matriz quadrada");
a = new double [m][m];
lerMatriz(a);
do{
opcao = lerOpcao();
if (opcoes.indexOf(opcao)>=0){
System.out.println();
matrizLida(a, "Matriz lida p/ opção escolhida");
switch (opcao){
case 'a' : ;//diagonalPrincipal(a, "DIAGONAL PRINCIPAL");
break;
case 'b' : ;//trianguloSuperiorDiagonalPrincipal(a,"Triângulo R à diagonal principal");
break;
case 'c' : ;// trianguloInferiorDiagonalPrincipal(a, "triângulo inferior à diagonal principal");
break;
case 'd' : ;// excetoDiagonalPrincipal(a,"Toda a matriz, exceto a principal" );
break;
case 'e' : ;// diagonalSecundaria(a, "Diagonal secundária");
break;
case 'f' : ;// trianguloSuperiorDiagonalSecundaria(a, "TRIANGULO SUPERIOR A DIAGONAL SECUNDARIA");
break;
case 'g' : ;// trianguloInferiorDiagonalSecundaria(a, "TRIANGULO INFERIOR A DIAGONAL SECUNDARIA");
break;
case 'h' : ;// excetoDiagonalSecundaria(a, "TODA A MATRIZ EXCETO A DIAGONAL SECUNDARIA");
}
}
}while (opcoes.indexOf(opcao)>=0);
}
}