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