gpt4 book ai didi

java - 循环中的嵌套数组如何工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:47:23 25 4
gpt4 key购买 nike

我试图理解这个数组在循环中的工作

for (int answer=0; answer<responses.length; answer++)
{
++frequency[responses[answer]]
}

Frequency 是一个数组,在 start 中初始化为

int [] frequency = new int [6];

我们也将响应作为一个数组,其值 int[] responses= {1,2,3,4,4,4,4,4}

我不明白这个 ++frequency[responses[answer]] 是如何工作的,在我看来它是嵌套数组,但它是如何工作的?

最佳答案

没有嵌套数组。您只是嵌套了两个数组访问语法。

要解释这段代码,我们首先要知道answer变量会发生怎样的变化。从 for 循环头中,我们可以看到它从 0 开始,一直到 responses.length - 1,即 8。现在我们可以计算表达式 frequency[响应[答案]]:

// in each iteration of the loop
frequency[responses[0]]
frequency[responses[1]]
frequency[responses[2]]
frequency[responses[3]]
frequency[responses[4]]
frequency[responses[5]]
frequency[responses[6]]
frequency[responses[7]]

现在我们可以评估 responses[x] 部分。我们只需要在 responses 数组中找到对应的响应即可。 responses[0] 是第一项,即1

frequency[1]
frequency[2]
frequency[3]
frequency[4]
frequency[4]
frequency[4]
frequency[4]
frequency[4]

该语句还包括 ++ 运算符,它将 frequency 的特定索引递增 1。因此,上述所有索引将依次递增 1 ,使 frequency 数组看起来像这样:

[0, 1, 1, 1, 5, 0]

在更高的抽象层次上,此代码计算特定响应在 responses 数组中出现的次数。例如,4 出现了 5 次。

关于java - 循环中的嵌套数组如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50540252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com