繁体   English   中英

主程序无法识别我的 class 方法 java

[英]Main program not recognizing my class method java

我之前问过一个关于这个的问题,但我无法解决它。 我正在尝试创建一个Supplements (类)数组并将其存储在Magazine (类)的单个 object 中。 尝试调用我的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();

    }

}

You need to make the method fillArray static to access it without an instance of Supplement because in the JavaApplication1 class is no method called fillArray is static or can be accessed by a static context.

利用:

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

称呼:

Supplement.fillArray(suplements);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM