当前位置: 首页 > 面试题库 >

为什么我的排序循环似乎将元素添加在不应添加的位置?

易炳
2023-03-14
问题内容

我正在尝试使用排序字符串数组compareTo()。这是我的代码:

static String Array[] = {" Hello ", " This ", "is ", "Sorting ", "Example"};
String temp;

public static void main(String[] args)
{

   for (int j=0; j<Array.length;j++)
   {
       for (int i=j+1 ; i<Array.length; i++)
       {
           if (Array[i].compareTo(Array[j])<0)
           {
               String temp = Array[j];
               Array[j] = Array[i];
               Array[i] = temp;
           }
       }
       System.out.print(Array[j]);
   }
}

现在的输出是:

Hello  This Example Sorting is

我得到的是结果,但不是我想得到的结果,它们是:

Hello This Example Is Sorting

如何调整代码以正确地对字符串数组进行排序?


问题答案:

你的输出是正确的。开头用“ Hello”和“ This”的白色字符表示。

另一个问题是你的方法。使用Arrays.sort()方法:

String[] strings = { " Hello ", " This ", "Is ", "Sorting ", "Example" };
Arrays.sort(strings);

输出:

 Hello
 This
Example
Is
Sorting

这里数组“ is”的第三个元素应该是“ Is”,否则它将在排序后排在最后。因为sort方法在内部使用ASCII值对元素进行排序。



 类似资料:
  • 问题内容: 我对git和詹金斯都很陌生。 我将密钥添加到bitbucket和本地计算机中时: 我可以克隆。 但是,当我将相同的url()添加到Jenkins存储库url时,出现以下错误: 问题答案: 您还需要为Jenkins用户设置ssh密钥。 通常的想法是,您登录到Jenkins框,并成为“ jenkins”用户。您可以为您的Jenkins用户打电话,所以请确保使用正确的名称。一旦成为Jenki

  • 当我使用对我的数组进行排序时(此数组包含指向整数的指针),一个额外的(一个新元素)似乎被添加到数组中。我几乎可以肯定问题出在或中,因为在调用之前打印我的数组时,数据是正确的(只是未排序)。这是代码。 输出应该包含未排序的数组、已排序的数组,以及是否找到了查询。未排序的数组中没有,但排序后的数组中有一个;此外,排序结果中缺少编号(有趣的是,如果我对执行二进制搜索,它会告诉我位于索引)。 输出示例(用

  • 问题内容: 我觉得这里缺少明显的东西! 输出: 当然应该输出: 这是怎么了 问题答案: 字典未排序。如果需要依赖顺序,则需要一个OrderedDict- Python 2.7的模块中有一个,或者您可以使用多种食谱之一。

  • 我有一个通过Interface Builder定义的布局约束视图。由于它们无法暂时停用,我决定通过拨打以下电话有选择地删除它们: 但是,之后约束仍然驻留在视图中。约束。此外,我还希望以编程方式添加约束(同样,因为我无法(取消)激活它们): 对我的方法的任何调用都会导致变量wasAdded的值NO。这也反映在用户界面上,它根本没有改变。 最后,我既不能以编程方式添加约束,也不能删除添加到情节提要的约

  • 问题内容: 我已经从事反应超过一年了。我主要使用.map,.forEach,.filter或如果对象是Object.keys和Object.values来迭代数组。 但是向jsx元素添加唯一键的不同方法是什么。到目前为止,我已经习惯了以下内容 使用数据中的唯一ID作为键prop的键: 使用索引作为关键道具的关键: 除了我上面提到的以外,还有没有其他方法可以向jsx元素添加唯一键,并且最有效和推荐的

  • 问题内容: 我一直试图将onclick事件添加到使用JavaScript添加的新元素中。 问题是当我检查document.body.innerHTML时,我实际上可以看到onclick = alert(’blah’)已添加到新元素中。 但是,当我单击该元素时,我看不到警报框正在运行。实际上,任何与JavaScript相关的功能都无法正常工作。 这是我用来添加新元素的方法: 这是我所谓的函​​数: