我正在检查我的数组中的字符串是否按字母顺序排列.我的代码检查器说我的代码无法解决某些情况,但我真的不确定如何更改它.
编辑:显然我的代码在检查数组"猫猿狗斑马"时返回"true",这显然是错误的.
public boolean isSorted()
{
boolean sorted = true;
for(int i = 0; i < list.size(); i++)
{
for(int j = i+1; j < list.size(); j++)
{
if (list.get(i).compareTo(list.get(j)) == 1)
{
sorted = false;
}
}
}
return sorted;
}
Run Code Online (Sandbox Code Playgroud)
if (list.get(i).compareTo(list.get(j)) == 1)
Run Code Online (Sandbox Code Playgroud)
上述行是错误的.返回的值为正数,严格不等于1.
尝试改为
if (list.get(i).compareTo(list.get(j)) >0)
Run Code Online (Sandbox Code Playgroud)