Новичок Java проблема: ____ не может быть решена в тип - PullRequest
0 голосов
/ 04 марта 2020

В настоящее время я изучаю Java из этого урока , и хотя номенклатура иногда смущает меня (на самом деле, в значительной степени с этой главой), я достаточно хорош, чтобы выяснить, почему код работает. За исключением этого случая, это не так, и это не мой код не работает, это учебник.

Этот фрагмент вызывает у меня проблемы:

public class Chapter6 {

    public void bar2(Student s1, Student s2) {
        Student joe = new Student("joe");
        Student jack = new Student("jack");
        bar2(joe, jack);

    }

}

Затмение жалуется, что для строки 3, Студент не может быть разрешен к типу (дважды). Я могу исправить это, создав класс Student, но затем для строк 4 и 5 он все еще жалуется, что конструктор Student (string) не определен. В качестве последней попытки решить эту проблему, я поместил этот код в файл класса Student (и изменил класс в первой строке с главы 6 на Student), но это ничего не решило.

Я счастлив для любой помощи, и еще счастливее, если бы вы могли ELI5, потому что, как я уже сказал, номенклатура функций действительно смущает меня.

Ответы [ 3 ]

0 голосов
/ 04 марта 2020

Сначала вам нужно создать класс Student, ошибки, которые вы получаете, связаны с тем, что, когда программа компилируется, пытается найти класс Student. И это не импортируется.

 public class Student {

   private String name;

   // This is the constructor, it will get called when you do: new Student("joe")
   public Student(String name) {
      this.name = name;
   }
}

Затем в главе класса 6.

public class Chapter6 {

    public static void main(String [] args) {
        Student joe = new Student("joe");
        Student jack = new Student("jack");
        bar2(joe, jack);
    }

    public void bar2(Student s1, Student s2) {
        // Do stuff here
    }

}

Имейте в виду, что если вы оставите вызов метода bar2 в методе bar2 таким, какой он есть сейчас, вы будете получить ошибку StackOverFlow, потому что метод вызывает себя бесконечно

0 голосов
/ 04 марта 2020

@ Ezequiel Falcon ответ правильный. Вам необходимо сначала создать класс Student, а затем импортировать класс Student в Chapter6. Кроме того, вам нужно изменить метод bar2 в Chapter6 Class.

public class Student {

 private String name;

 public Student (String name) {

  this.name = name;

 }

}
0 голосов
/ 04 марта 2020

Вам нужно создать класс Student с конструктором с параметром String.

Затем не забудьте импортировать его в Chapter6 class

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