moga2003 Ответов: 1

Багровый редактор - выпуск пакета


Доброе утро,

Я работал над проектом в течение последних нескольких недель, и я не могу понять, что я делаю неправильно. Когда я запускаю java-файлы, он не находит отображаемый класс. Это не единственный файл в пакете util, и все же это единственный файл, который он не найдет. Я новичок в JAVA, и это мой первый проект.

Я тоже новичок на этом сайте. Я не вижу, где я могу загрузить файлы. Вот что я скопировал из оболочки DOS для сообщений об ошибках для каждого из классов.

C:\Users\moga2\Desktop\Webucator\Project Directory>javac PrintReports.java
.\util\Displayable.java:3: error: class, interface, or enum expected
public abstract String display() {
                ^
PrintReports.java:7: error: cannot access Displayable
    ArrayList<Displayable> classroomList = new ArrayList<>();
              ^
  bad source file: .\util\Displayable.java
    file does not contain class util.Displayable
    Please remove or make sure it appears in the correct subdirectory of the sourcepath.


C:\Users\moga2\Desktop\Webucator\Project Directory\school>javac Classroom.java Classroom.java:2: error: package util does not exist
import util.Displayable;
           ^
Classroom.java:6: error: cannot find symbol
public class Classroom implements Displayable {
                                  ^
  symbol: class Displayable
Classroom.java:9: error: cannot find symbol
    private Displayable teacher;
            ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:10: error: cannot find symbol
    private ArrayList<Displayable> students;
                      ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:15: error: cannot find symbol
    public Classroom(int roomNumber, Displayable teacher, ArrayList<Displayable> students) {
                                     ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:15: error: cannot find symbol
    public Classroom(int roomNumber, Displayable teacher, ArrayList<Displayable> students) {
                                                                    ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:29: error: cannot find symbol
    public Displayable getTeacher() {
           ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:33: error: cannot find symbol
    public void setTeacher(Displayable teacher) {
                           ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:37: error: cannot find symbol
    public ArrayList<Displayable> getStudents() {
                     ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:41: error: cannot find symbol
    public void setStudents(ArrayList<Displayable> students) {
                                      ^
  symbol:   class Displayable
  location: class Classroom
Classroom.java:45: error: method does not override or implement a method from a supertype
    @Override
    ^
Classroom.java:50: error: cannot find symbol
        ArrayList<Displayable> studentList = this.getStudents();
                  ^
  symbol:   class Displayable
  location: class Classroom
12 errors


C:\Users\moga2\Desktop\Webucator\Project Directory\school>javac Student.java
Student.java:2: error: package util does not exist
import util.Displayable;
           ^
Student.java:4: error: cannot find symbol
public class Student extends Person implements Displayable {
                             ^
  symbol: class Person
Student.java:4: error: cannot find symbol
public class Student extends Person implements Displayable {
                                               ^
  symbol: class Displayable
Student.java:13: error: cannot find symbol
        this.setFirstName(firstName);
            ^
  symbol: method setFirstName(String)
Student.java:14: error: cannot find symbol
        this.setLastName(lastName);
            ^
  symbol: method setLastName(String)
Student.java:35: error: method does not override or implement a method from a supertype
    @Override
    ^
Student.java:37: error: cannot find symbol
        return "Student ID: " + this.getStudentId() + "    " + this.getFullName() + " Final Grade: " + this.getFinalGrade();
                                                                   ^
  symbol: method getFullName()
7 errors


C:\Users\moga2\Desktop\Webucator\Project Directory\school>javac Teacher.java
Teacher.java:2: error: package util does not exist
import util.Displayable;
           ^
Teacher.java:4: error: cannot find symbol
public class Teacher extends Person implements Displayable {
                             ^
  symbol: class Person
Teacher.java:4: error: cannot find symbol
public class Teacher extends Person implements Displayable {
                                               ^
  symbol: class Displayable
Teacher.java:11: error: cannot find symbol
    this.setFirstName(firstName);
        ^
  symbol: method setFirstName(String)
Teacher.java:12: error: cannot find symbol
    this.setLastName(lastName);
        ^
  symbol: method setLastName(String)
Teacher.java:21: error: method does not override or implement a method from a supertype
    @Override
    ^
Teacher.java:23: error: cannot find symbol
            return this.getFullName() + "teaches" + this.getSubject();
                       ^
  symbol: method getFullName()
7 errors


Что я уже пробовал:

Я проверил путь к классам, я заново создал весь проект и заново установил все программное обеспечение, просто чтобы быть уверенным.

Richard MacCutchan

В этом файле чего-то не хватает. Но поскольку вы не показали источник, трудно догадаться, что именно.

moga2003

Инструкции для отображаемого класса приведены ниже:

В пакете util создайте отображаемый интерфейс. Интерфейс должен объявить один метод следующим образом:
публичное отображение абстрактной строки()

Это то, что у меня есть в Displayable.Java-файл:
пакет util;

публичное отображение абстрактной строки()

phil.o

Вы не можете объявить абстрактный элемент в интерфейсе; интерфейс уже абстрактен по своей сути. Попробуй раздеться abstract ключевое слово из интерфейса. Позже вы можете объявить эту функцию абстрактной в реализующем классе, но вам все равно придется реализовать ее (т. е. не абстрактную) в какой-то момент.

Richard MacCutchan

Вы не можете объявить метод вне класса или интерфейса.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Отображаемое.файл java должен определить отображаемый интерфейс, чтобы реализующий класс мог импортировать его определения. Что-то вроде:

Package until;
interface Displayable {
    public String display() {
    // other code here
    }
} // end of interface definition


Для получения дополнительной информации я предлагаю вам поискать в google “учебники Java” и поработать с ними.