私はプログラミングに慣れていますので、私と一緒にお立ち寄りください。私は次の問題を抱えており、解決方法はわかりません。私は提案を探しています。私はインスタンスデータを持っています(下記参照)。これは私がやろうとしていることです:オブジェクトとメソッドの初期化と宣言
宣言されたとき、またはコンストラクタでキリングをnew KillList()
に初期化する必要があります。
private KillList killring;
KillListは、別のクラスの子クラスです。全体のプログラムは、List:LinkedListsとArrayListを扱います。 コンストラクタは、ArrayListの要素をKillringに追加します。新しいノードが毎回リンクリストの最後に追加されます。これは私がKillListのために、これまで持っているものである
public class AssassinManager {
private static class AssassinNode {
private String player;
private String killer;
private AssassinNode next;
private AssassinNode(String name) { // to be altered
this.player = name;
this.killer = null;
this.next = null;
}
}// End of AssassinNode - DONE
private KillList killring; //KillList object
private AssassinNode graveyard; //AssassinNodeData object
/* Constructor add names from arralyist to killring
without altering elements in arraylist */
public AssassinManager (ArrayList<String> players) {
if (players == null || players.isEmpty() == true) {
throw new IllegalArgumentException();
}
killring = new AssassinNode(players.get(0)); // AN ERROR IS PRESENTED HERE
}
:
このは、私がこれまで持っているものである
public class KillList extends AssassinNodeData {
public KillList(String player) {
super(player);
}
可能な答え:
public AssassinManager (ArrayList<String> players) {
if (players == null || players.isEmpty() == true) {
throw new IllegalArgumentException();
}
killring = new KillList(players.get(0));
KillList node = killring;
for (int i = 1; i < players.size(); i++) {
node.next = new KillList(players.get(i));
node = node.next;
}
}
**何か**エラーがありますか?ああ、 'KillList'は' AssassinNode'ではありません。 –
@ElliottFrisch互換ではないAssassinNodeをKillListクラスにキャストできません – Ani
おそらく 'AssassinNode'は' KillList'を拡張(または実装)する必要があります。 –