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"); } } }