У меня есть такая структура папок
День12
| Аккаунт.java
| AccountMain.java
Account.java содержит
package Day12;
public class Account {
int id;
String name;
double balance;
public int getId() {
return id;
}
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
public void setId(int id){
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
И мой AccountMain.java
package Day12;
public class AccountMain {
public static void main(String[] args) {
Account acc1 = new Account();
acc1.setId(1);
acc1.setName("John");
acc1.setBalance(1000.0);
System.out.println("Account ID: " + acc1.getId());
System.out.println("Account Name: " + acc1.getName());
System.out.println("Account Balance: " + acc1.getBalance());
}
}
Каждый раз, когда я запускаю javac AccountMain.java, я получаю эту ошибку.
AccountMain.java:5: ошибка: не могу найти символ
Аккаунт acc1 = новый аккаунт();
Символ ^: класс Местоположение учетной записи: класс AccountMain AccountMain.java:5: ошибка: невозможно найти символ
Аккаунт acc1 = новый аккаунт();
Символ ^: класс Местоположение учетной записи: класс AccountMain
2 ошибки
Я запутался, потому что не знаю, почему он говорит: «Невозможно найти символ», даже если они у меня в одном пакете, и мой aitocomplete смог обнаружить класс учетной записи.
Попробуйте скомпилировать оба класса вместе.
@Abra, я использую код VS и Java 17.
Отвечает ли это на ваш вопрос? Не могу найти класс в одном пакете
Вы можете попробовать следующие шаги
попробуй чистую сборку
Проверьте порядок компиляции или вы можете скомпилировать вручную в этом порядке.
javac Day12/Account.java
javac Day12/AccountMain.java
Это работает для меня, спасибо. Но мне это действительно кажется странным, поскольку когда я пробую это в IntelliJ, эта ошибка не возникает, но когда я делаю это в коде VS. Я сталкиваюсь с этим.
Вам нужно запустить
javac
в корневом каталоге ваших пакетов, то есть вышеDay12
.