Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在程序中调用数组(java)_Java_Arrays - Fatal编程技术网

在程序中调用数组(java)

在程序中调用数组(java),java,arrays,Java,Arrays,我目前正在编写一个基本的world viewer程序。在每个视点上,我有4张图片,每个图片彼此成90度角。我已经为每个视点创建了一个照片数组和一个字符串currentPoint,它将保存视点的名称。我认为有一种方法可以获取当前数组的名称并调用它的内容,因此我只需要为下面的turn left ad turn right函数编写一组代码,但我无法想象它会是什么。它是如何完成的?假设你的数组是按[north facing,east facing,south facing,west facing]的顺序

我目前正在编写一个基本的world viewer程序。在每个视点上,我有4张图片,每个图片彼此成90度角。我已经为每个视点创建了一个照片数组和一个字符串currentPoint,它将保存视点的名称。我认为有一种方法可以获取当前数组的名称并调用它的内容,因此我只需要为下面的turn left ad turn right函数编写一组代码,但我无法想象它会是什么。它是如何完成的?

假设你的数组
是按[north facing,east facing,south facing,west facing]的顺序排列的,并且你有一个索引
i
指示当前视图的索引(0表示北,1表示东,2表示南,3表示西)。然后,“向左拐”是递减模4,而“向右拐”是递增模4

使用这种方法,右转很简单:
i=(i+1)%4

向左拐有点难,因为
%
实际上在Java中被定义为余数运算符,而不是模运算符,所以
i=(i-1)%4
将不起作用(当它应该是
i==3
时,它将离开
i=-1
)。相反,您可以编写:
i=(i+3)%4


(记住这一点,我们可以定义一整套绝对方向常数-
NORTH
为0,
EAST
为1,
SOUTH
为2,
WEST
为3,相对方向常数-
FRONT
为0,
RIGHT
为1,
BACK
为2,
LEFT
为3。然后,例如,
WEST==(北+左)%4
北==(西+右)%4

我真的不知道我是否完全理解,但你能把数组放在以字符串为键的地图中吗?