Java 借助比较器对int类型的数组进行排序
我正在使用数组排序,它向我显示这样的错误是无效的。帮帮我Java 借助比较器对int类型的数组进行排序,java,Java,我正在使用数组排序,它向我显示这样的错误是无效的。帮帮我 import java.util.*; class power { public static void main(String ar[]) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n]; for(int i=0;i<n;i++)
import java.util.*;
class power
{
public static void main(String ar[])
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i]=sc.nextInt();
Arrays.sort(a,new Comparator<int []>()
{
public int compare(int a1[],int a2[])
{
String s1=""+a1[0];
String s2=""+a2[0];
return s1.compareTo(s2);
}
});
}
}
import java.util.*;
阶级权力
{
公共静态void main(字符串ar[]
{
扫描仪sc=新的扫描仪(System.in);
int n=sc.nextInt();
int a[]=新的int[n];
对于(int i=0;i您不能编写比较器
,因为Java基元类型不能用作泛型。您需要整型
包装器类型。因此更改
int a[] = new int[n];
到
然后您的比较器应该比较两个整数(不是两个int[]
(s))
排序时出错。语法无效
Integer a[] = new Integer[n];
Arrays.sort(a, new Comparator<Integer>() {
public int compare(Integer a1, Integer a2) {
String s1 = "" + a1;
String s2 = "" + a2;
return s1.compareTo(s2);
}
});
Arrays.sort(a, (x, y) -> String.valueOf(x).compareTo(String.valueOf(y)));