В настоящее время я пишу код для скаутской системы. У меня есть несколько классов, и иерархия выглядит следующим образом: iScoutMember -> Scout (реализует iScoutMember) -> BeaverScout
(расширяет Scout). У меня также есть класс ScoutList
, который обрабатывает добавление разведчиков в ArrayList
из разведчиков и ScoutSystem
, который создает меню и использует методы из класса ScoutList
.
Я получаю ошибку от метод addScout в классе ScoutSystem
, когда я пытаюсь добавить информацию для ArrayList SpecialInterests
Это информация об ошибке
Ошибка: (108, 103) java: несовместимые типы: SpecialInterest нельзя преобразовать в java .util.ArrayList
Ошибка: (112, 103) java: несовместимые типы: SpecialInterest нельзя преобразовать в java .util.ArrayList
Это код класса Scout
import java.util.ArrayList;
public abstract class Scout implements iScoutMember {
private String name;
private String county;
private String dateOfBirth;
private String address;
private String phoneNumber;
private ArrayList<SpecialInterest> specialInterests;
public Scout(String name, String county, String dateOfBirth, String address, String phoneNumber, ArrayList<SpecialInterest> specialInterests) {
this.name = name;
this.county = county;
this.dateOfBirth = dateOfBirth;
this.address = address;
this.phoneNumber = phoneNumber;
this.specialInterests = specialInterests;
}
, а это код класса SpecialInterest
public class SpecialInterest {
private String interestCategory;
private String details;
private String dateBadgeReceived;
public SpecialInterest(String interestCategory, String details, String dateBadgeReceived) {
this.interestCategory = interestCategory;
this.details = details;
this.dateBadgeReceived = dateBadgeReceived;
}
и, наконец, это код метода addScout в системном классе Scout private void addScout () {
System.out.println("What kind of scout would you like to add?.");
System.out.println("1. Beaver Scout");
System.out.println("2. Cub Scout");
System.out.println("3. Scouter");
int option = input.nextInt();
switch(option){
case 1:
System.out.println("Name => ");
System.out.println("County=> ");
System.out.println("Date of Birth => ");
System.out.println("Address => ");
System.out.println("Contact number => ");
String name = input.nextLine();
String county = input.nextLine();
String dateOfBirth = input.nextLine();
String address = input.nextLine();
String phoneNumber = input.nextLine();
System.out.println("Enter Special Interest Details");
System.out.println("Special Interest Category");
System.out.println("Details");
System.out.println("date Badge Received");
String interestCategory = input.nextLine();
String details = input.nextLine();
String dateBadgeReceived = input.nextLine();
SpecialInterest sp1 = new SpecialInterest(interestCategory,details,dateBadgeReceived);
System.out.println("Do you wish to enter another special Interest: Y/y for yes, N/n for no ==> ");
String ans = input.nextLine();
ans.toUpperCase();
if (ans.equals("Y")){
System.out.println("Parents Phone Number?");
String parentPhone = input.nextLine();
BeaverScout s1 = new BeaverScout(name, county, dateOfBirth, address, phoneNumber, sp1, parentPhone);
scoutList.addScout(s1);
} else if(ans.equals("N")){
String parentPhone = "";
BeaverScout s1 = new BeaverScout(name, county, dateOfBirth, address, phoneNumber, sp1, parentPhone);
scoutList.addScout(s1);
}
}
}
}
Эта строка кода выдает мне ошибку
BeaverScout s1 = new BeaverScout(name, county, dateOfBirth, address, phoneNumber, sp1, parentPhone);
Любая помощь будет высоко оценена. Я совершенно новичок в наследстве. и переполнение стека, поэтому, пожалуйста, будьте терпеливы со мной, если мой вопрос не отформатирован должным образом.