Я работаю над реализацией кода с использованием MVC для моего класса, но у меня возникла ошибка, которую я не могу понять.Единственные части задания, которые я должен изменить, это Model, View и Controller, поэтому остальные классы для нас уже были завершены.
Когда я запускаю код, в контроллере появляется ошибка:
"ошибка: несовместимые типы: ученик не может быть преобразован в строковое представление. DisplayOnButton (model.getInfoForStudent (0), 0);"
Как это исправить?
Вот что у меня есть:
Контроллер -
public class Controller
{
Model model;
View view;
public Controller(Model model, View view)
{
this.model = model;
this.view = view;
SetViewFromModel();
}
public void SetViewFromModel()
{
view.DisplayOnButton(model.getInfoForStudent(0), 0);
view.DisplayOnButton(model.getInfoForStudent(1), 1);
view.DisplayOnButton(model.getInfoForStudent(2), 2);
}
}
Модель -
public class Model
{
ArrayList<Student> sts = new ArrayList<>();
public Model()
{
//creates 3 students
MailAddress addr1 = new MailAddress("107 W College Avenue", "State College", "PA", 16801);
Student st1 = new Student("Emily", "Smith", 20, addr1);
MailAddress addr2 = new MailAddress("200 W College Avenue", "State College", "PA", 16801);
Student st2 = new Student("Mary", "Doe", 20, addr2);
MailAddress addr3 = new MailAddress("300 W College Avenue", "State College", "PA", 16801);
Student st3 = new Student("John", "Doe", 20, addr3);
//add them to the array of students
sts.add(st1);
sts.add(st2);
sts.add(st3);
}
public Student getInfoForStudent (int studentIndex)
{
return sts.get(studentIndex);
}
}
Вид -
public void DisplayOnButton(String infoToDisplay, int onButton)
{
mf.getIp().DisplayOnButton(infoToDisplay, onButton);
}