Только начал учиться программированию. При компиляции main файла выходит ошибка ""error cannot find symbol java". Если я правильно понял, он не взаимодействует с Person.java, а пытается выполнить всё main.java. Но как это решить всё никак не могу понять.
main.java
public class main {
public static void main(String[] args) {
Person dima = new Person();
System.out.println(dima.height);
}
}
Person.java
public class Person {
int height = 189;
}
E:\study\java> javac Person.java
E:\study\java> javac main.java
main.java:3: error: cannot find symbol
Person dima = new Person();
^
symbol: class Person
location: class main
main.java:3: error: cannot find symbol
Person dima = new Person();
^
symbol: class Person
location: class main
2 errors
Такое поведение скорее всего связано с переменной %CLASSPATH%
в которой перечислены папки где javac будет искать .class
файлы для компиляции. По умолчанию эта переменная окружения не задана и тогда javac ищет .class
файлы только в текущей папке.
Скорее всего у вас эта переменная была задана ранее (можно проверить при помощи echo %CLASSPATH%
) и тогда текущую папку нужно указывать вручную, например через
javac main.java --class-path .
(.
означает текущую директорию)
Если не хочется каждый раз вручную указывать --class-path .
можно очистить %CLASSPATH%
при помощи set CLASSPATH=
Обратите внимание что необязательно даже вызывать javac Person.java
, компилятор автоматически скомпилирует Person.java
Вот пример запуска на моем компьютере (у меня линукс поэтому синтаксис немного отличается)
~/Workspace$ export CLASSPATH=
~/Workspace$ echo $CLASSPATH
~/Workspace$ javac Person.java
~/Workspace$ javac main.java
~/Workspace$ java main
189
~/Workspace$ export CLASSPATH=/somedirectory
~/Workspace$ echo $CLASSPATH
/somedirectory
~/Workspace$ javac Person.java
~/Workspace$ javac main.java
main.java:3: error: cannot find symbol
Person dima = new Person();
^
symbol: class Person
location: class main
main.java:3: error: cannot find symbol
Person dima = new Person();
^
symbol: class Person
location: class main
2 errors
~/Workspace$ javac main.java --class-path .
~/Workspace$ java main
189
И компиляция и выполнение проходят без ошибок:
Удалось смоделировать такую же ошибку изменив в файле main.java
в строке Рerson dima = new Рerson();
английские заглавные "Пи" на русские заглавные "Эр". Посмотрите, может быть у вас подобная ошибка.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как известно, в Android Q (API=29) Google в очередной раз изменил правила доступа к внешней памяти (external storage) и ввел понятие Scoped StorageТеперь:
Надо, чтобы пользователь указал путь к папке с файлами через визуальный файловый менеджерНашел следующий код
Не могу разобраться где взять "Request URL" для ивента, в задаче надо поприветствовать нового участника каналаИ похоже для этого, нужно подписать...
Я хочу, чтобы цвет фонового изображения SVG заполнялся постепенно, в процентах