¡Qué tonto! El problema radicaba en el método main, que habia puesto que independientemente del resultado, me dijese que SÍ era triangular jajaja
Os dejo mi solución:
Código JAVA:
Ver originalimport java.util.*;
public class ClassEnsayo {
/**
* Nombre: Ejercicio 02, Hoja de Arrays y métodos
* Autor: Javier García Manzano
* Fecha y hora: 06/11/2012, 22:53
* Hacer un programa en java que implemente tres métodos, uno que verifique si la
* matriz es triangular superior, el segundo método verificará si la matriz es triangular
* inferior y por último, un método que verifique si se trata de una matriz diagonal. El
* rango de la matriz deberá ser ingresado por teclado (n x m).
*/
public static void main
(String[] args
) {
Scanner t
= new Scanner
(System.
in);
System.
out.
println("Cuántas filas y columnas tendrá la matriz?: "); int dim = t.nextInt();
int x[][] = new int[dim][dim];
System.
out.
println("Introduce datos: "); for(int i=0; i<dim; i++){
for(int j=0; j<dim; j++)
x[i][j] = t.nextInt();}
if(ClassEnsayo.
triangularInf(x
)) System.
out.
println("Es Triangular inferior"); else if(ClassEnsayo.
triangularSup(x
)) System.
out.
println("Es Triangular superior"); else System.
out.
println("No es triangular");
t.close();
}
public static boolean triangularInf(int x[][]) {
boolean esTriangular = true;
for(int i=0; i<x.length; i++){
for(int j=0; j<i; j++){
if(x[i][j] != 0){
esTriangular = false;
break;
}
}
}
return esTriangular;
}
public static boolean triangularSup(int x[][]) {
boolean esTriangular = true;
for(int i=0; i<x.length; i++){
for(int j=0; j<i; j++){
if(x[j][i] != 0){
esTriangular = false;
break;
}
}
}
return esTriangular;
}
}