2012-04-04 17 views
1

問題があります。LinkedListからのintとStringの比較

私は文字列とintを比較しようとしていますが、動作するようには見えません。 私は何が間違っていますか?

のEclipseからこれを取得:

式の型が配列型でなければなりませんが、それはこれは私が「ゲームのためのハイスコアのテキストファイルです

int numberOfMoves; 
    List<String> highscoreLinkedList = new LinkedList<String>(); 

    if (moves < Integer.parseInt(highscoreLinkedList[2])){ 
     highscoreLinkedList[2] = Integer.toString(moves); 
     highscoreLinkedList[1] = name; 
    } 

を一覧表示することを決議私は作っています。インデックス2のStringは移動回数であり、int移動数も移動回数です。

+0

あなたは間違っていると言っていますか? –

+0

おっと、忘れました。今編集されました。 – user1258829

答えて

3

highscoreLinkedList[2]を使用してリスト要素にアクセスすることはできません。その構文は配列用に予約されています。あなたがget()メソッドを使用する必要があり、リスト、すなわちhighscoreLinkedList.get(2)

+0

ああ私の神、私はとてもばかです。 Totaly混合配列とLinkedListをアップ...愚かなばかな愚か!ありがとう! – user1258829

+0

これは設定の問題に対処していません... – Jon

1

にアクセスするには、配列としてリストを扱うしようとしているが、の要素にアクセスする唯一の方法は、呼び出しget()方法です。あなたのコードはコンパイルされません。

+0

ああ私の神、私はとても愚かです。 Totaly混合配列とLinkedListをアップ...愚かなばかな愚か!ありがとう! – user1258829

+0

ところで、LinkedListの要素にランダムアクセスするのは効率的ではありません。 ArrayListまたは配列の使用を検討してください。 – ahanin

1

Listは、Javaの配列と同じ方法で動作しません。そのように、特定の要素にアクセスするには、あなたがget()メソッドを使用する必要があり、その要素を取得するには、あなたがset()を使用する必要があります。

// you have highscoreLinkedList[2], it should be: 
highscoreLinkedList.get(2); 

// you have highscoreLinkedList[2] = ..., it should be: 
highscoreLinkedList.set(2, Integer.toString(moves)); 

あなたはLinkedListhereのための方法のすべてを見ることができます。

+0

ああ私の神、私はとてもばかです。 Totaly混合配列とLinkedListをアップ...愚かなばかな愚か!ありがとう! – user1258829

関連する問題