私は以下のメソッドをJavaで書いています。名前のスキャナ入力テキストファイルを読むつもりですが、現時点ではファイルから名前を1つだけ取り出して表示します。テキストファイルからリンクリストを印刷する:出力は1つの名前を出力します - Java
public class AssassinManager {
private static class AssassinNode {
private static String player;
private static String killer;
private AssassinNode next;
private AssassinNode(String name){
AssassinNode.player = name;
AssassinNode.killer = null;
this.next = null;
}
}// End of AssassinNode
private AssassinNode killring; // the head of the kill ring linked list - first link
private AssassinNode graveyard; // the head of the graveyard linked list - second link
/* AssasssinManager Constructor */
public AssassinManager(ArrayList<String> players){
if (players == null || players.isEmpty()){ throw new IllegalArgumentException("Error: ArryList is null/empty!"); }
AssassinNode node = killring = new AssassinNode(players.get(0)); // create first node - for the killring
for (int i = 1; i < players.size(); i++){ // Add a new node at the end of each killing
node.next = new AssassinNode(players.get(i));
node = node.next;
}
System.out.println(players.size());
} // End of AssassinNode Constructor - Done
/* Prints the names of the people in the kill ring */
public void printKillRing() {
if(killring == null){
return; // break out of printKillRing method when list is null
}
AssassinNode node = killring;
do {
if (node.next == null) {
System.out.println(node.player + " is stlaking " + node.player);
} else
System.out.println(node.player + "-->");
node = node.next;
} while (node != null);
} // End of printKillRing
出力: ケリー - >ケリーは - >ケリーはケリー
意図した出力をストーキングされています ケリー - >ジェイコブ - >ロン
から静的なキーワードを削除? AssasinNode? – Troncador
これには多くのコンテキストがありません。 'AssassinNode'のソースは非常に便利です。 – shmosel
@Troncadorコメントの残りの部分を – Asteri