我已经制作了这个程序来寻找最长的渐进序列。虽然它运行但我收到以下编译时错误: Sequence.java使用未经检查或不安全的操作。 使用-Xlint重新编译:取消选中以获取详细信息。
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]+" ");
}
}
}
如何纠正错误?
答案 0 :(得分:1)
TreeSet是一个通用类。你需要给它一个类型。看起来你正在添加ints
,所以正确的声明将是
TreeSet<Integer> ans = new TreeSet<>();
或者,在Java7之前的版本中,
TreeSet<Integer> ans = new TreeSet<Integer>();