как вы вызываете метод из другого файла в java? - PullRequest
0 голосов
/ 24 апреля 2020

вот мои два файла: файл 1:

 public class Step2 {
       public static void main(String[] args) {
        output("-STEP 2-");lineBreak();


        int size = inputINT("How many smart devices do you have: ");

        SmartHome[] sh = new SmartHome[size];

        for(int i = 0;i<size;i++){
                SmartDevice insertValues = new SmartDevice(inputSTR(
                        "Device name " + (i+1)),
                        inputDBL("Device location " + (i+1)),
                        inputBLN("Device status " + (i+1)));
                        insertDevice(insertValues);            


        }

файл 2:

    public class SmartHome {

    private SmartDevice[] smartDevices;

    public SmartHome(int size){

        SmartDevice[] smartDevices = new SmartDevice[size];
    }
    public SmartHome(SmartDevice[] sd){enter code here
        smartDevices = sd;

    }


    public void insertDevice(SmartDevice device){


        for (int i=0;i<smartDevices.length;i++) { 
        if (smartDevices[i] == null) 
            smartDevices[i] = device;
            break;    
        }
    } 

(эти два файла находятся в одном проекте) Когда я пытаюсь использовать вызов Метод insertDevice Мне задают проблему, которая "не может найти символ", и я не уверен, почему. Я пытался вызвать другие методы, которые существуют внутри файла 2, однако я получаю ту же проблему, поэтому кажется, что компилятор ищет не в том месте? Пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

хорошо, вы создаете массив объектов sh = new SmartHome, чтобы вы могли вызывать методы внутри объектов просто sh[index].insertDevice(device);

0 голосов
/ 24 апреля 2020

делает метод stati c вроде:

public static void insertDevice(SmartDevice device){


        for (int i=0;i<smartDevices.length;i++) { 
        if (smartDevices[i] == null) 
            smartDevices[i] = device;
            break;    
        }
    } 

И затем экземпляр класса:

SmartHome.insertDevice();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...