コードは次のとおりです。
Person aTrainee = new Trainee (firstName,lastName,streetAddress,postCode,phoneNumb,performanceAverage,trainingArea);
そしてエラーは言う
no suitable constructor found for Trainee...ectect
人は配列です
研修生は配列内の項目です (研修生、従業員、管理職の 3 つのうちの 1 つ)
括弧内の項目を削除するとエラーは発生しませんが、それがないとコードは機能しません。括弧内の項目がコードの残りの部分と 10 回以上一致することを確認しました。これを理解するために 1 時間以上費やしました。アドバイスをいただければ幸いです。
編集:これはコードです。たくさんあるので、ここが重要な部分です。
else if (userChoice.equalsIgnoreCase(toTrainee))
{
Scanner in = new Scanner(System.in);
Scanner choice = new Scanner (System.in);
System.out.println("To select a Trainee to edit, enter a value from 0 to 3: \n");
int selection = choice.nextInt();
if(selection <= 8)
{
System.out.println("Incorrect, please enter a valid number!");
sc.nextLine();
break;
}
System.out.println("Please enter a first name for the Trainee \n");
String firstName = in.nextLine();
System.out.println("Please enter a Last name for the Trainee \n");
String lastName = in.nextLine();
System.out.println("Please enter a Street Address for the Trainee: \n");
String streetAddress = in.nextLine();
System.out.println("Please enter a Post code for the Trainee: \n");
int postCode = in.nextInt();
in.nextLine();
System.out.println("Please enter a Phone Number for the Trianee: \n");
String phoneNumb = in.nextLine();
System.out.println("Please enter a performance average for the Trainee: \n");
String performanceAverage = in.nextLine();
System.out.println("Please enter a Training area for the Trainee: \n");
String trainingArea = in.nextLine();
Person aTrainee = new Trainee (firstName,lastName,streetAddress,postCode,phoneNumb,performanceAverage,trainingArea);
System.out.println(aTrainee);
myWorker.set(selection,aTrainee);
}
見習いコンストラクター
public class Trainee extends Person
{
private String performanceAverage, trainingArea;
public Trainee()
{
super();
performanceAverage = "";
trainingArea = "";
}
public Trainee(String myFirstName, String myLastName, String myStreetAddress, int myPostCode, int myPhoneNumb, String myPerformanceAverage, String myTrainingArea)
{
super(myFirstName,myLastName,myStreetAddress,myPhoneNumb,myPostCode);
performanceAverage = myPerformanceAverage;
trainingArea = myTrainingArea;
}
public void setPerformanceAverage(String myPerformanceAverage)
{
this.performanceAverage = myPerformanceAverage;
}
public void setTrainingArea(String myTrainingArea)
{
this.trainingArea = myTrainingArea;
}
public String toString()
{
return super.toString() + ", Performance Average is " + performanceAverage + ", and Training Analysis is " + trainingArea;
}
}
これは、Tranee に Name ect などのいくつかの情報を与える Person です。
public class Person
{
private String firstName;
private String lastName;
private String streetAddress;
private int postCode;
private int phoneNumb;
public Person()
{
firstName = lastName = streetAddress = "";
postCode = phoneNumb = 0;
}
public Person(String myFirstName, String myLastName, String myStreetAddress, int myPostCode, int myPhoneNumb)
{
firstName = myFirstName;
lastName = myLastName;
streetAddress = myStreetAddress;
postCode = myPostCode;
phoneNumb = myPhoneNumb;
}
public void setFirstName(String myFirstName)
{
this.firstName = myFirstName;
}
public String getFirstName()
{
return firstName;
}
public void setLastName(String myLastName)
{
this.lastName = myLastName;
}
public String getLastName()
{
return lastName;
}
public void setStreetAdress(String myStreetAddress)
{
this.streetAddress = myStreetAddress;
}
public String getStreetAdress()
{
return streetAddress;
}
public void setPostCode(int myPostCode)
{
this.postCode = myPostCode;
}
public int getPostCode()
{
return postCode;
}
public void setPhoneNumb(int myPhoneNumb)
{
this.phoneNumb = myPhoneNumb;
}
public int getPhoneNumb()
{
return phoneNumb;
}
public String toString()
{
return "This person's information is: " + firstName + " " + lastName + ", " + " " + streetAddress + " " + postCode + ", phone number is " + phoneNumb;
}
}
これが配列です(最初の行は単なるテストなので、エントリは無視してください)
import java.util.ArrayList;
public class ShopMan
{
public static void main()
{
ArrayList<Person>myWorker = new ArrayList<Person>();
Person aShopEmployee = new ShopEmployee("Yazz","Hasan","1/43", 4215, 55271095, "Timber", 010101001, 50000);
myWorker.add(aShopEmployee);
aShopEmployee = new ShopEmployee("","","",00,00,"",00,00);
myWorker.add(aShopEmployee);
aShopEmployee = new ShopEmployee("","","",00,00,"",00,00);
myWorker.add(aShopEmployee);
aShopEmployee = new ShopEmployee("","","",00,00,"",00,00);
Person aManagement = new Management("","","",00,00,"",00,00,false);
myWorker.add(aManagement);
aManagement = new Management("","","",00,00,"",00,00,false);
myWorker.add(aManagement);
aManagement = new Management("","","",00,00,"",00,00,false);
myWorker.add(aManagement);
Person aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
aTrainee = new Trainee("", "", "", 00, 00, "", "");
myWorker.add(aTrainee);
for (int i=0; i < myWorker.size(); i++)
{
System.out.println(myWorker.get(i));
}
while (true)
{
Menu.main(myWorker);
}
}
}
答えが見つかりました!
String phoneNumb = in.nextLine();
する必要があった
int phoneNumb = in.nextInt();
in.nextLine();
Russell Zahniserとcreinig、そして他のみんなに感謝します