0

簡単にするためにプログラムを切り詰めましたが、 next() の値を変数に格納する必要があります。これは、反復子ループで、その値をいくつかのものと照合する他のことを行うためです。しかし、その値を保存するのに問題があり、「互換性のない型」というエラーが表示されます。

import java.util.*;

public class test
{
    public static void main (String [] args)
    {
        String data="34 23 13 5 2 6 9 11";
        Scanner input=new Scanner(data);
        TreeSet set=new TreeSet();
        while (input.hasNextInt())
        {
            Integer num=new Integer(input.nextInt());
            set.add(num);
        }
        Iterator itr=set.iterator();
        while (itr.hasNext())
        {
            Integer num2=itr.next();
        }
    }
}
4

4 に答える 4

4

以下を使用する必要があります。

TreeSet<Integer> set = new TreeSet<Integer();

それができたら、追加するときにインスタンス化する必要はありません。次Integerのようにするだけです。

set.add(input.nextInt());

オートボクシングのおかげです。

そして、最後に反復するときは、次のことができます。

for (Integer num2 : set) {
}
于 2012-04-13T23:35:31.097 に答える
0

Integerタイプオブジェクトにキャストする必要があります

    Integer num2= (Integer) itr.next();
于 2012-04-13T23:36:43.247 に答える
0

単純なキャストでうまくいくはずです

            Integer num2=(Integer) itr.next();
            System.out.println(num2);

よろしく、エルワルド

于 2012-04-13T23:37:14.543 に答える