【问题标题】:Java - using Point class to return values of locations in a 2D arrayJava - 使用 Point 类返回二维数组中的位置值
【发布时间】:2012-09-30 06:19:39
【问题描述】:

我正在编写一个程序,其中我有一个来自单元格类的对象的二维数组,我需要编写一个方法,其中我将一个单元格对象作为参数传递并返回一个单元格周围的单元格列表(N , S, E, W)。每个单元格都从 Point 类中获得一个位置。我遇到的问题是如何使用我知道的位置(x,y-1 是北)来生成一个单元格。对此的任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: java arrays class point maze


    【解决方案1】:

    如果 (x,y) 是您的单元格,那么它周围的四个单元格是

    (x+1, y)
    (x-1, y)
    (x, y+1)
    (x, y-1)
    

    你可能会做出这样的假设

    +x axis is EAST
    -x axis is WEST
    +y axis is NORTH
    -y axis is SOUTH
    

    所以

    (x+1, y) is EAST to the cell,
    (x-1, y) is WEST to the cell,
    (x, y+1) is NORTH to the cell and 
    (x, y-1) is SOUTH 
    

    到您作为参数传递给您的方法的单元格。

    【讨论】:

    • 感谢您的帮助!我主要遇到的问题是如何准确地使用 Point 类。因此,如果我知道 (x-1, y) 位于单元格的西边,我该如何获取该单元格以便将其添加到 ArrayList。
    • 是的,正如我告诉你的,你必须假设哪个轴是地图的哪个方向,并且你必须在整个程序中遵循这个假设。
    • 我假设您的意思是 -y 是 SOUTH,而不是 WEST :) 不过,在某些应用程序(尤其是计算机图形学)中,将 +y 设为南而不是北是很常见的。
    • @BlueRaja-DannyPflughoeft 谢谢,我的意思是 -y 在南方。我已经更正了答案。
    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多