Доброго времени суток, я новичок, поэтому не кидайтесь сильно всяким.
Проблема: Я считаю определители у квадратных матриц, хочу в main обратиться к переменной lgth, и чтоб лишнее не выводилось, определять какая размерность и выводить нужный метод.
Вот main, где я хочу обратиться правильно к переменной lgth, которую я считываю из класса Field:
package com.company;
public class Main {
public static void main(String[] args) {
Field f1 = new Field();
f1.create();
if (f1.lgth == 1);
{
System.out.println(Field.determinant(f1.a[0][0]));
}
if (f1.lgth == 2);
{
System.out.println(Field.determinant(f1.a[0][0], f1.a[0][1], f1.a[1][0], f1.a[1][1]));
}
if (f1.lgth == 3);
{
System.out.println(Field.determinant(f1.a[0][0], f1.a[0][1], f1.a[0][2], f1.a[1][0], f1.a[1][1], f1.a[1][2], f1.a[2][0], f1.a[2][1], f1.a[2][2]));
}
}
}
класс Field:
package com.company;
import java.lang.*;
import java.util.Scanner;
public class Field {
public static int lgth;
int a[][];
public void create()
{
Scanner len=new Scanner(System.in);
System.out.println("Введите размерность матрицы");
int lgth = len.nextInt();
a=new int[lgth][lgth];
for (int i=0;i < a.length;i++){
for (int j=0;j < a[i].length;j++){
a[i][j]=(int)(Math.random()*10);
}
}
for (int i=0;i < a.length;i++,System.out.println()){
for (int j=0;j < a[i].length;j++){
System.out.print(a[i][j]+" ");
}
}
}
public static double determinant (int a00){
int tempdetermin = a00;
return tempdetermin;
}
public static double determinant (int a00, int a01, int a10, int a11){
int tempdetermin = (a00*a11)-(a10*a01);
return tempdetermin;
}
public static double determinant (int a00, int a01,int a02, int a10, int a11,int a12,int a20,int a21,int a22){
int tempdetermin = (a00*a11*a22)+(a10*a21*a02)+(a01*a12*a20)-(a02*a11*a20)-(a01*a10*a22)-(a00*a21*a12);
return tempdetermin;
}
}