Еле кровь с глаз и клавиатуры оттер.
У вас крайне бесполезная мешанина, кратко что не так:
1) static нужно избегать всеми возможными путями. Представьте что у вас будет если вы захотите создать еще один экземпляр Field, они будут мешать друг другу.
2) Класс Field не несет практического смысла т.к. все что можно и нельзя static.
3) Класс должен выполнять максимально возможную "узкую" логику
4) Что ,s общаться с классами нужно использовать getЧтоТо для получения и setЧтоТо для задания параметров и действий.
5) Давайте максимально осмысленные названия всему, но без фанатизма
Если не совсем полностью правильно но пока еще просто(без интерфейсов и фабрик) максимально близко к вашему должно быть как то так:
public class Main {
public static void main(String[] args) {
Scanner len=new Scanner(System.in);
System.out.println("Введите размерность матрицы");
int lengh = len.nextInt();
Field field1 = new Field(lengh);
System.out.println(field1.toString()());
System.out.println(field1.getDeterminant());
}
И класс сам:
public class Field {
private int lgth;
private int a[][];
public Field(int lengh){
lgth = lenght;
a=new int[lgth][lgth];
for (int i=0;i < a.length-1;i++){
for (int j=0;j < a[i].length-1;j++){
a[i][j]=(int)(Math.random()*10);
}
}
}
public int getDeterminant(){
switch(lght):
case 1: return determinant1();
case 2: return determinant2();
case 3: return determinant3();
default: return -1; //Если не реализовано
}
private int determinant1(){
int tempdetermin = матан;
return tempdetermin;
}
private int determinant2(){
int tempdetermin = матан;
return tempdetermin;
}
private int determinant3(){
int tempdetermin = матан;
return tempdetermin;
}
@Override
public String toString(){
String str ="";
for (int i=0;i < a.length-1;i++){
for (int j=0;j < a[i].length-1;j++){
str+=(a[i][j]+" ");
}
str+="\n";
}
return str;
}
}