1

ArrayList文字列を単語と比較し、リストとは異なる値を返す単純な辞書を作成しようとしています。はArrayList外国語でレイアウトされ、その後に英語の同等の単語が続くので、単語を入力し、スキャナーを使用してそれを配列リストと比較し、インデックス値 +1 を返すという考え方です。入力した単語がリストの 7 番目、8 番目の単語を返して出力したい。

文字列を入力して比較するという基本的な考え方はわかりましたが、 から次の単語を返す方法がわかりませんArrayList

public void translateWords(){
        String nameSearch;
        nameSearch=input.nextLine();

        for (Phrase c:phrases) {
            if (c.getName().equals(nameSearch))  {
                System.out.println( c.advancedToString());      
                return;
            }
        }
        System.out.println("not on list");

ArrayList の get メソッドをいじってみましたが、使い方がよくわからないので、ここでフィードバックをいただければ幸いです。

4

3 に答える 3

0

for-eachあなたの場合、翻訳された単語では、連続する要素にアクセスできないため、この場合は適切ではありません。だから私はあなたが使用することをお勧めしますIterate

phrasesタイプだと思いますList<Phrase>

public void translateWords(){
        String nameSearch;
        nameSearch=input.nextLine();

        Iterator<Phrase> it = phrases.iterator();
        while(it.hasNext())
        {
           Phrase c = it.next();
           if (c.getName().equals(nameSearch))  {
                System.out.println( it.next().advancedToString());      
                return;
            }
        }

        System.out.println("not on list");
}
于 2013-11-11T11:13:38.837 に答える