0

我制作了这个程序来寻找最长的渐进序列。虽然它运行但我收到以下编译时错误:Sequence.java 使用未经检查或不安全的操作。使用 -Xlint:unchecked 重新编译以获取详细信息。

import java.util.Scanner;
import java.util.TreeSet;
public class Sequence
{
public static void main(String [] args)
{
    Scanner s=new Scanner(System.in);
    System.out.println("Enter the length of the sequence");
    int t=s.nextInt();
    System.out.println("Enter the elements of the sequence");
    int seq[]=new int[t];
    TreeSet ans=new TreeSet();
    int i,j;
    for(i=0;i<seq.length;i++)
    {
        seq[i]=s.nextInt();
    }
     for(i=seq.length-1;i>=0;i--)
     {
         int k=seq[i];
         boolean f=true;

       for(j=i-1;j>=0;j--)
         { 

            if(k<seq[j])
             {
                 f=false;

             }
         }

         if(f==true)
             ans.add(k);
        }
     Object[] obj=ans.toArray();  
     for(i=0;i<obj.length;i++)
     {
         System.out.print(obj[i]+" ");
     }

 }
 } 

我该如何纠正我的错误?

4

1 回答 1

1

TreeSet 是一个通用类。你需要给它一个类型。看起来你正在添加ints它,所以正确的声明是

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

或者,在 Java7 之前的版本中,

TreeSet<Integer> ans = new TreeSet<Integer>();
于 2013-08-13T20:44:12.380 回答