【发布时间】:2015-01-31 05:23:59
【问题描述】:
我使用比较器的 Arrays.sort() 命令不起作用。我想按降序对数组进行排序。我的程序如下:
import java.util.*;
import java.io.*;
class MinScalProd
{
public static void main(String[] ar) throws IOException
{
Scanner input=new Scanner(new File("Min.in"));
FileWriter fw = new FileWriter("Min.out");
int T=input.nextInt();
for(int cases = 1; cases <= T; cases++)
{
int n=input.nextInt();
int[] v1=new int[n];
int[] v2=new int[n];
int sp=0;
for(int i=0;i<n;i++)
{
v1[i]=input.nextInt();
}
for(int i=0;i<n;i++)
{
v2[i]=input.nextInt();
}
Comparator comp = Collections.reverseOrder();
Arrays.sort(v1);
Arrays.sort(v2,comp);/*here it is giving error(Cannot find symbol)*/
for(int i=0;i<n;i++)
{
sp=sp+v1[i]*v2[i];
}
fw.write("Case #" + cases + ": "+sp+"\n");
}
fw.flush();
fw.close();
}
}
希望大家尽快解决
【问题讨论】: