对不起这个问题,但我找不到这个问题的答案!数组被声明为字符串,所以你知道。 这是代码:
public static void bubblesort()
{
int outer,inner;
for(outer=nElems-1; outer>0; outer--)
{
for(inner=0;inner<outer;inner++)
{
if(array[inner] > array[inner+1]){ <<The problem is here.
swap(inner,inner+1);
}
}
}
}
答案 0 :(得分:0)
您无法在>
上使用<
或String
。试试compareTo
:
if (array[inner].compareTo(array[inner+1]) > 0) {
Comparable
接口的{p> Here are the docs,String
实现。
答案 1 :(得分:0)
您不能将算术运算符用于String
类型
答案 2 :(得分:0)
问题在于你不能像这样比较java中的两个字符串:
array[inner] > array[inner+1]
您可以将两个String
个对象与+
连接起来,但这个重载不代表>
或<
。
如果您想比较两个String
,请使用compareTo
的{{1}}方法。