如何在ForEach循环中使用2D数组的一部分?

时间:2017-02-18 01:32:36

标签: java arrays for-loop 2d each

import Control.Concurrent.Async (mapConcurrently) import Data.Array indexedArray :: Array (Int,Int) (Int,Int,a) indexedArray = ... mappedArray = mapConcurrently (\(x,y,a) -> foo x y a) indexedArray 是一个2D数组,这些是元素:

  • [0] [2] [4] [6] [8]
  • [12] [14] [6] [6] [10]

如何使用traverse - 每个循环仅访问array的第二行?

我试过......

for

但它似乎不起作用。

2 个答案:

答案 0 :(得分:0)

在Java中,数组是从零开始的,所以你的[1]指向第二维的想法正朝着正确的方向发展。试试这个:增加数组第一个维度的大小,然后访问循环中的第二个维度:

FieldInfo test1 = t.GetField("superLabel", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);

您最初询问的是每种方法。在Java中,多维数组只是一个数组数组,因此您希望依次获取每个子数组并打印它的第二个元素。像这样:

    for (int i = 0; i < array.length; i++)
        System.out.println(array[i][1]);

答案 1 :(得分:0)

似乎问题出在您的 2D数组创建中。 For-each循环使用的是正确的。确保按如下方式创建数组:

  def current_user?(user)
   user == current_user
  end

def current_user
    @current_user ||= User.find_by(id: session[:user_id])
end

如果您在循环中使用 System.out.println ,则会打印 12,14,6,6,10