誰かが私のコードを見て、作業コードのパスからどこに迷い込んだかを提案してください。
課題は次のとおりです。PersonalLoan という名前の抽象クラスとサブクラスを使用して、2 つの異なるタイプのローン (家と車) とそれぞれの月額を表示する UseLoan という名前のアプリケーションを作成します。各サブクラスには、費用決定の決定に使用される少なくとも 1 つのデータ入力項目をユーザーに要求した後、ローンの種類に基づいて月額費用を設定するコンストラクターが含まれています。(たとえば、自動車ローンの場合、車の年式やスポーツカーかどうかを尋ねることがあります。) PersonalLoan クラスに、関連するすべてのデータを含む String を構築する抽象 toString() メソッドを含めます。ユーザーに保険の種類を尋ね、適切なオブジェクトを作成して表示します。ファイルを PersonalLoan.java、CarLoan.java、homeLoan.java、および UseLoan.java として保存します。
コードをコンパイルすると、次のエラーが発生します
スレッド「メイン」の例外 java.lang.Error: 未解決のコンパイルの問題: タイプ CarLoan をインスタンス化できません タイプ CarLoan をインスタンス化できません タイプ CarLoan をインスタンス化できません タイプ CarLoan をインスタンス化できません タイプ HomeLoan をインスタンス化できません
at UseLoan.main(UseLoan.java:7)
これまでの私のコードは次のとおりです。
public abstract class PersonalLoan {
String title = new String();
double sportsPrice, suvPrice, hybridPrice, pickupPrice, price30, price15, price5;
public PersonalLoan(String t) {
title = t;
}
public String getTitle() {
return title;
}
public double getSportsPrice() {
return sportsPrice;
}
public abstract void setSportsPrice();
public double getSUVPrice() {
return suvPrice;
}
public abstract void setSUVPrice();
public double getHybridPrice() {
return hybridPrice;
}
public abstract void setHybridPrice();
public double getPickupPrice() {
return pickupPrice;
}
public abstract void setPickupPrice();
public double getPrice30() {
return price30;
}
public abstract void setPrice30();
public double getPrice15() {
return price15;
}
public abstract void setPrice15();
public double getPrice5() {
return price5;
}
public abstract void setPrice5();
}
ここに 2 番目のサブクラス PersonalLoan があります。
public class CarLoan extends PersonalLoan {
public CarLoan(String title) {
super(title);
setSportsPrice();
setSUVPrice();
setHybridPrice();
setPickupPrice();
}
public void setSportsPrice() {
super.sportsPrice = 1.99;
}
public void setSUVPrice() {
super.suvPrice = 2.99;
}
public void setHybridPrice() {
super.hybridPrice = 3.99;
}
public void setPickupPrice() {
super.pickupPrice = 4.99;
}
}
ここにクラスHomeLoanがあります:
public class HomeLoan extends PersonalLoan {
public HomeLoan(String title) {
super(title);
setPrice30();
setPrice15();
setPrice5();
}
public void setPrice30() {
super.price30 = 1.99;
}
public void setPrice15() {
super.price15 = 2.99;
}
public void setPrice5() {
super.price5 = 3.99;
}
}
メイン クラス UseLoan は次のとおりです。
public class UseLoan {
public static void main(String[] args) {
PersonalLoan aPersonalLoan[] = new PersonalLoan[5];
int x;
aPersonalLoan[0] = new CarLoan("Sports Car");
aPersonalLoan[1] = new CarLoan("SUV");
aPersonalLoan[2] = new CarLoan("Hybrid");
aPersonalLoan[3] = new CarLoan("Pickup Truck");
aPersonalLoan[5] = new HomeLoan("30 Year Mortgage");
for (x = 0; x < aPersonalLoan.length; ++x) {
System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[x].getSportsPrice());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[x].getSUVPrice());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[x].getHybridPrice());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[x].getPickupPrice());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[X].getPrice30());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[X].getPrice15());
//System.out.println("Book #" + (x + 1) + ": " + aPersonalLoan[x].getTitle() + " costs $" + aPersonalLoan[X].getPrice5());
}
}
}