Для моего задания я создал класс под названием «Агентство», в котором будут храниться данные о агентствах талантов, и я создал необходимые атрибуты. Мне также был предоставлен файл данных, который мне нужно будет прочитать. Но сначала я должен проверить свой класс. Я могу использовать getter и seters отлично, чтобы отобразить мой желаемый результат, но теперь я хочу создать новый экземпляр объекта Agency и добавить детали их, но я получаю сообщение об ошибке, не найдя подходящего конструктора. Я сопоставил настройки с моим конструктором или, по крайней мере, не вижу, где моя ошибка. Любая помощь спасибо.Java не найден подходящий конструктор
public class Agency {
//Attributes for class Agency
private String name;
private String[] address;
private String[] adminStaff;
private int phoneNumber;
private String type;
/**
*Constructor that creates object Agency
*/
public Agency() {
}
/**
* Constructor that creates object Agency with values
* @param name
* @param address
* @param adminStaff
* @param phoneNumber
* @param type
*/
public Agency(String name, String[] address, String[] adminStaff, int phoneNumber, String type) {
this.name = name;
this.address = address;
this.adminStaff = adminStaff;
this.phoneNumber = phoneNumber;
this.type = type;
}
/**
*
* @return
*/
public String getName() {
return name;
}
/**
*
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @return
*/
public String[] getAddress() {
return address;
}
/**
*
* @return
*/
public String[] getAdminStaff() {
return adminStaff;
}
/**
*
* @return
*/
public int getPhoneNumber() {
return phoneNumber;
}
/**
*
* @param phoneNumber
*/
public void setPhoneNumber(int phoneNumber) {
this.phoneNumber = phoneNumber;
}
/**
*
* @return
*/
public String getType() {
return type;
}
/**
*
* @param type
*/
public void setType(String type) {
this.type = type;
}
private String getArrayAsString(String[] a) {
String result = "";
/*for(int i = 0; i<a.length; i++)
{
result += a[i] +" ";
}*/
for(String s: a)
{
result += s + " ";
}
result = result.trim();
return result;
}
private String[] getStringAsArray(String a) {
String[] result = a.split(":");
return result;
}
public void setAddress(String Address) {
this.address = getStringAsArray(Address);
}
public void setAddress(String[] Address) {
this.address = Address;
}
public String getAddressAsString() {
return getArrayAsString(address);
}
public void setAdminStaff(String adminStaff) {
this.adminStaff = getStringAsArray(adminStaff);
}
public void setAdminStaff(String[] adminStaff) {
this.adminStaff = adminStaff;
}
public String getAdminStaffAsString() {
return getArrayAsString(adminStaff);
}
@Override
public String toString(){
return name +"\t"+ getAddressAsString() +"\t"+
getAdminStaffAsString() +"\t"+ phoneNumber +"\t"+ type + "\n";
}
}
Мой главный класс
public class AgencyTest {
public static void main(String[] args) {
/*a.setName("Potters Talent Agency");
a.setAddress("126-182 Ashwood Road:Potters Bar:Hertfordshire EN6 2:UK");
a.setAdminStaff("Megan Speagle:Daron Spilman");
a.setPhoneNumber(2598052);
a.setType("All");
System.out.println(a.getName());
System.out.println(a.getAddressAsString());
System.out.println(a.getAdminStaffAsString());
System.out.println(a.getPhoneNumber());
System.out.println(a.getType());*/
Agency a = new Agency("Potters Talent Agency, 126-182 Ashwood Rd: Potters Bar: Hertfordshire EN6 2: UK, "
+ "Megan Speegle:Daron Spilman:Leonel Striegel:Hubert Tesoro:Nathanial Pompey, 2598052, All");
System.out.println(a);
}
} закомментирована линии работают, но если я пытаюсь сделать все это от «Агентства а = новое агентство()» линия не будет работать.
plz help am новичок, и я, вероятно, использую плохую терминологию, поэтому не уверен, имеет ли смысл то, что я пытаюсь сделать.
Ok добавил новый конструктор, который принимает его как одну строку, но получает ошибку с целым значением для номера звонящего. Вот код:
`public Agency(String csvString) {
String[] attributes =csvString.split(",");
int i = 0;
for(String s : attributes)
{
switch(i)
{
case 0:
this.name = s;
break;
case 1:
this.address = getStringAsArray(s);
break;
case 2:
this.adminStaff = getStringAsArray(s);
break;
case 3:
this.phoneNumber = getIntAsString(s);
break;
case 4:
this.type = s;
break;
}
Я попытался преобразовать его в строку, но не похоже на работу. Подробнее Кода:
private String getIntAsString(int a){
String result = Integer.toString(a);
return result;
}
public String getPhoneNumberAsString() {
return getIntAsString(phoneNumber);
}
public void setPhoneNumber(int phoneNumber){
this.phoneNumber = phoneNumber;
}
i++;
}`
Спасибо Ok я создал конструктор, чтобы принять его в качестве одной строки, но не могу показаться, чтобы заставить его принять целое значение. Я использовал Integer.toString (i). Но все равно получите ошибку. – omzy