【问题标题】:Understanding Java sorting了解 Java 排序
【发布时间】:2023-03-06 10:29:01
【问题描述】:

我还在学习排序和数组。想出了这个代码,它可以按升序对字母或数字进行排序,但我真的没有得到System.out.println(SampleArray[i]); 的最后一部分。为什么是SapleArray[i]?有人可以请教我。

public class TestClass {    
    public static void main(String[] args) {
        String SampleArray[] = {"B","D","A","R","Z"};       
        Arrays.sort(SampleArray);
        for (int i=0; i < SampleArray.length; i++) {
                System.out.println(SampleArray[i]);
        }
    }
}

【问题讨论】:

  • 请注意,您的数组已就地排序,这意味着原始顺序丢失了。

标签: java sorting


【解决方案1】:

SampleArray 指的是整个数组——这里包含五个字符串。

SampleArray[0] 指的是数组中的第一项(这里是字符串"B")。

    for (int i=0; i < SampleArray.length; i++) {
            System.out.println(SampleArray[i]);
    }

i一个接一个地取值0、1、2、3、4,所以你先打印出SampleArray[0]然后SampleArray[1]等等,直到所有的项目都打印完。

【讨论】:

  • 感谢您的解释和其他所有人的回答。我想我现在明白了,我使用的变量是因为它可以遍历数组的所有长度以使排序成为可能,但它只是发生了,我对数组不太了解,我从来不知道声明 SampleArray[ i] 是可能的。
  • 另外,你应该将你的数组命名为sampleArray。约定是SampleArray 表示一个类,而不是一个变量。
【解决方案2】:

您正在尝试打印一个数组,它是一个有序的项目集合。

循环内的SampleArray[i] 允许您按顺序一次访问一个元素。

更具体地说,在这种情况下,i 采用 04 的值。

SampleArray[0] 将为您提供 SampleArray 的第一个元素,因为 Java 使用从零开始的数组索引。

【讨论】:

  • 我知道它正在打印数组,但我不太明白如何,我的意思是变量 i 甚至不是数组的一部分,它基本上计算数组。
  • @rsarellano。首先,只有 一个 数组。变量i 被用来索引到这个数组,并且在某种意义上允许我们从数组中“拉出”元素并打印它们。
【解决方案3】:

浏览您的代码:

首先,您创建一个字符串数组,其中包含这些字母作为元素,它们的保存方式如下:数组的元素 0 = B,元素 1 = D,等等(在数组中,计数总是从 0 开始,而不是从 1 开始)。

然后它按升序排序。

for 循环用于打印排序后的数组,它从元素 0 开始遍历数组,直到到达数组的最后一个元素并打印这些元素。

【讨论】:

    【解决方案4】:

    for 循环一遍又一遍地做某事。

    for 循环的第一部分,int i = 0 设置了一个变量。

    第二部分i &lt; SampleArray.length 是“终止条件”——它是在每次循环迭代之前必须保持为真的条件。

    最后一部分 i++ 是每次迭代后发生的事情 - i 会递增。

    所以我们正在打印SampleArray 中的每个元素。 i 介于 0 和小于数组中元素数的 1 之间。 (例如,如果数组包含 4 个元素,i 将是 0 到 3,这就是我们想要的)。

    在循环体中,[i] 位从SampleArray 中选择该元素,这就是在每一行上打印的值。

    另一种看待它的方式:SampleArray 支持 [] 运算符,当应用该运算符时,将返回数组中的一个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2015-10-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-06
      相关资源
      最近更新 更多