学习算法,想对标准输入的字符串进行排序,但是编译会报错
3个子函数,输入类型不是Comparable,求助如何解决?
The method sort(Comparable[]) in the type Selection is not applicable for the arguments (String)
import java.util.Scanner;
public class Selection {
public static void sort(Comparable[] a){
int N=a.length;
for(int i=0;i<N;i++)
{
int min=i;
for(int j=i+1;j<N;j++)
{
if(less(a[j],a[min]))
min=j;
exch(a,i,min);
}
}
}
private static boolean less(Comparable v,Comparable w){
return v.compareTo(w)<0;
}
private static void exch(Comparable[] a,int i,int j){
Comparable t=a[i]; a[i]=a[j];a[j]=t;
}
private static void show(Comparable[] a){
//在单行中打印数组
for(int i=0; i<a.length;i++)
System.out.print(a[i]+"");
System.out.println();
}
public static boolean isSorted(Comparable[] a){
//测试数组是否有序
for(int i=1;i<a.length;i++)
if(less(a[i],a[i-1])) return false;
return true;
}
public static void main(String[] args){
//从标准输入读取字符串,将它们排序并输出
System.out.print("输入");
Scanner s = new Scanner(System.in);
String line=s.nextLine();
System.out.println("输入的是"+line);
** sort(line);
assert isSorted(line);
show(line);**
}
}