проблемы с импортом классов и констант в Java - PullRequest
0 голосов
/ 24 июня 2019

У меня есть класс, который выглядит следующим образом:

package module_4;

import java.util.Scanner;

public class monthPrinter {
    // just does not need to be public
    private static final String[] DAYS = {"Sun", "Mon", "Tues", "Wed", "Thu", "Fri", "Sat"};

    // will be used by the other program that loops through all the months of a year so needs to be public
    public static final String[] MONTH_ARRAY = new String[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
}

У меня есть другой класс, который пытается использовать этот класс, который выглядит следующим образом:

package module_4;

public class monthPrinterInYear {
    public static void main(String args[]) {
        for (String month : monthPrinter.MONTH_ARRAY) {
            System.out.println(month);
        }
    }
}

Моя ошибка компилятора выглядиткак это:

javac monthPrinterInYear.java
monthPrinterInYear.java:5: error: cannot find symbol for (String month : monthPrinter.MONTH_ARRAY) {
                                                                         ^
symbol:   variable monthPrinter
location: class monthPrinterInYear
1 error

Что я делаю не так?Я хотел бы получить доступ к этой MONTH_ARRAY константе, но, похоже, не могу ее получить.

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

Вы не компилируете monthPrinter, а только пытаетесь скомпилировать monthPrinterInYear, что создает проблему.Просто сохраните оба monthPrinter.java и monthPrinterInYear.java в одном каталоге с именем module_4, перейдите к этому каталогу и выполните команду:

javac *.java

Это попытается скомпилировать все файлы Java в этом каталоге,И это важно - чтобы запустить скомпилированный файл, перейдите на одну папку назад, т.е. перейдите в родительский каталог, где осталось module_4, и введите команду:

java module_4.monthPrinterInYear
0 голосов
/ 24 июня 2019

Исправьте ваше соглашение об именах, чтобы следовать стандарту. Убедитесь, что ваш исходный код находится в соответствующих относительных местах, как ожидается компилятором. Вы правильно называете подпапки именами пакетов?

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