Я пытаюсь скомпилировать небольшой проект. Он состоит из двух классов: Fraction.java
, который представляет собой математическую долю и предоставляет некоторые методы для простых вычислений, и Main.java
, который содержит основной метод, который создает две фракции и выполняет некоторые вычисления. Структура проекта выглядит следующим образом:Импорт/компиляция пакета не работает
MyFractionProject
|
+-------src
|
+------fractionpackage
|
+-------Fraction.java
+-------Main.java
Поскольку оба класса находятся в том же пакете, у меня нет, чтобы добавить описания пакетов правильно? Все, что я должен на это импортировать Fraction.java
в Main.java
, например .:
import Fraction;
public class Main {
public static void main(String[] args) {
Fraction f1 = new Fraction(...)
...
Но это не работает. Когда я пытаюсь скомпилировать оба класса от MyFractionProject/src/fractionpackage
класс фракции компилируется нормально, но javac Main.java
дает мне эту ошибку:
localhost:fractionpackage MyUserName$ javac Fraction.java
localhost:fractionpackage MyUserName$ javac Main.java
Main.java:1: '.' expected
import Fraction;
^
Main.java:1: ';' expected
import Fraction;
^
2 errors
Я знаю, что это общий начинающий вопрос, но я действительно не нашел краткое объяснение, которое классы, из которых пакеты должны быть скомпилированы в каком порядке, из которого работает каталог, в какую папку классов. Часто респонденты просто прыгают в диком каталоге или в пути класса, что совсем не полезно для новичков.
Я думал, что выбрал самую основную настройку, и что даже это не работает, это действительно расстраивает. Может ли кто-нибудь взглянуть на него и дать мне конкретные инструкции (с соответствующими рабочими группами), которые могли бы запустить этот проект?
'Fraction' - это неточное * полное имя класса. Изучите, что такое «полное имя», тогда вы понимаете проблему и знаете решение. – Tom
Если классы находятся в пакете, они должны иметь декларацию пакета. –
Это не имеет никакого отношения к пакетам. У вас синтаксическая ошибка отсутствует. и. Если вы действительно не публикуете фактический код, никто не может сказать вам, что такое ошибка. – bmargulies