Основная программа не распознает мой метод класса java - PullRequest
0 голосов
/ 22 апреля 2020

Я задавал вопрос об этом ранее, но не смог решить его. Я пытаюсь создать массив Supplements (класс) и сохранить его в одном объекте Magazine (класс). При попытке вызвать мой fillArray метод я получаю сообщение об ошибке:

cannot find symbol: 
symbol: method fillArray(Supplement[])
location: javaapplication1

В чем может быть проблема с этим?

Supplement.java:

//
    //
    //  Generated by StarUML(tm) Java Add-In
    //
    //  @ Project : Untitled
    //  @ File Name : Supplement.java
    //  @ Date : 21/04/2020
    //  @ Author : 
    //
    //

    package javaapplication1;


    public class Supplement {
        private String supplementname;
        private int WeeklySupCost;

            public void fillArray(Supplement[] supplements2){


                supplements2[0] = new Supplement("Sports Illustrated Special", 4);
                supplements2[1] = new Supplement("Health and Nutrition", 2);
                supplements2[2] = new Supplement("Lifestyled", 5);
                supplements2[3] = new Supplement("Gamer's Update", 3);


             };

            public void SetSupplementName(String supplementname1){

                supplementname = supplementname1;

            };
        public void WeeklySupCost(int WeeklySupCost1){

                WeeklySupCost = WeeklySupCost1;

            };
        public String GetSupplementName(){

                return supplementname;

            };
        public int GetWeeklyCost(){

                return WeeklySupCost;

            };
        public void SetSupplement(String supplementname1, int WeeklySupCost1){

                supplementname = supplementname1;

            };
        public Supplement(String supplementname1, int WeeklySupCost1){

                SetSupplement(supplementname1, WeeklySupCost1);

            };

            public Supplement(){};
    }

Magazine.java:

    //
    //
    //  Generated by StarUML(tm) Java Add-In
    //
    //  @ Project : Untitled
    //  @ File Name : Magazine.java
    //  @ Date : 21/04/2020
    //  @ Author : 
    //
    //
    package javaapplication1;

    public class Magazine {
        private String magazinename;
        private int WeeklyCost;
        private Magazine magazineobj;
        private Supplement[] supplements;

        public void SetMagazineName(String magazinename1){

            magazinename = magazinename1;

        };
        public void SetWeeklyCost(int WeeklyCost1){

            WeeklyCost = WeeklyCost1;

        };
        public String GetMagazineName(){

            return magazinename;

        };
        public int GetWeeklyCost(){

            return WeeklyCost;

        };
        public void SetMagazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){

            magazinename = magazinename1;
            WeeklyCost = WeeklyCost1;
            supplements = supplements1;

        };
        public Magazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){

            SetMagazine(magazinename1,WeeklyCost1,supplements1);

        };

        public Magazine(){};
        public void printMagazine(){

            System.out.println(magazineobj);

        }
    }

Основная программа:

package javaapplication1;

public class JavaApplication1 {
    public static void main(String[] args) {


        Supplement[] supplements = new Supplement[4];

        fillArray(supplements);

        Magazine magazineobj = new Magazine("The Wheels Special", 35, supplements);
        magazineobj.printMagazine();

    }

}

1 Ответ

1 голос
/ 22 апреля 2020

Вам нужно сделать метод fillArray static для доступа к нему без экземпляра Supplement, потому что в классе JavaApplication1 нет метода с именем fillArray, это static или доступ к нему может получить c context.

Использование:

public static void fillArray(Supplement[] supplements) { ... }

Вызов:

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