【问题标题】:For each loop: Java对于每个循环:Java
【发布时间】:2014-04-09 15:35:55
【问题描述】:

我知道这一步需要一个 for each 循环,但是我该如何编写一个适合这种情况的循环呢?

  >Move every fragment in the collage by a given amount.
  >@param xDelta int pixels of horizontal move
  >@param yDelta int pixels of vertical move

public void move(int xDelta, int yDelta)
{
    for

}

【问题讨论】:

  • 你在迭代什么元素?元素列表?一套?你可以看看this

标签: java loops


【解决方案1】:

我不确定这是否是您正在寻找的:

public void move(final int xDelta, final int yDelta) {
    for (Point p : points) {
        p.setX(p.getX() + xDelta);
        p.setY(p.getY() + yDelta);
    }
}

假设您的班级有一个 Collection,其中包含一个 x 和一个 y 值。例如。以下之一:*

  • List<Point> points = new LinkedList<>(); 或
  • Set<Point> points = new LinkedHashSet<>();

【讨论】:

    【解决方案2】:

    您需要 Collection 的元素进行迭代,例如 ArrayList。因此,如果你想使用 foreach 循环来做到这一点,你首先需要实现一个类来保存片段,然后列出它们,例如ArrayList<Fragment> 最后遍历列表,比如这个

    for (Fragment fragment : fragmentsList) {
        // do the moving
    }
    

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 2012-12-18
      • 1970-01-01
      • 2013-11-22
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2020-10-09
      相关资源
      最近更新 更多