Código :
public class JavaApplication2 {
public static void main(String[] args) {
// TODO code application logic here
int a,b,contador=0, ver=0;
Scanner sc = new Scanner(System.in);
Random r= new Random();
System.out.println("insete numero de filas y columnas");
a= sc.nextInt();
int ref=0;
for(int i=1;i<a;i++){
ref=ref+i;
}
int mat[][] = new int[a][a] ;
for (int i=0; i< mat.length;i++){
for (int j=0; j<mat.length;j++){
mat[i][j]=r.nextInt();//llena la matriz
}
}
for (int i=0; i< mat.length;i++){
for (int j=0; j<mat.length;j++){
System.out.print (mat[i][j]) ;//llena la matriz
}
System.out.println(" ");
}
for (int i=0; i< mat.length;i++){
if( mat[i][i]!=0){
ver=ver+1;
}
}
if(ver==a){//verifica que la diagonal principal no sea cero
for (int i=0; i< mat.length;i++){
for (int j=i+1; j<mat.length;j++){
if(mat[j][i]==0){
contador=contador+1;//verifica cantidad de ceros debajo de diagonal principal
}
}
}
}else {
System.out.println("La matriz no es escalonada");
}
if(ref==contador){
System.out.println("la matriz es escalonada");
}else {
System.out.println("la matriz no es escalonada");
}
}
} 