Задать вопрос
  • Как правильно обратиться к переменной?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Еле кровь с глаз и клавиатуры оттер.
    У вас крайне бесполезная мешанина, кратко что не так:
    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;
        }
    }
    Ответ написан
    1 комментарий