Java Finch Robot Obsctacle传感器

问题描述:

我正在研究雀科机器人,我遇到了使用其中一个功能的问题。 my_finch.getObstacleSensors(). my_finch是机器人。这就是API所说的;Java Finch Robot Obsctacle传感器

public boolean [] getObstacleSensors() 将两个障碍物传感器的值作为2元素布尔值数组返回。左边的传感器是第0个元素,右边的传感器是第1个元素。 返回: 2元素数组中的左,右障碍物传感器的值

什么,我试图做的是检索的右侧和左侧传感器的值,因此,如果值相同,则它检测的对象没有移动,但是如果值改变了,那么对象已经移动,机器人可以继续跟踪。

我遇到了从布尔数组中恢复数据的问题。继承人是我的尝试:

boolean[] Sense; 
System.out.println(Sense[1]); 

Output: False.... 

System.out.println(my_finch.getObstacleSensors()); 

Output: [[email protected] 
[[email protected] 
[[email protected] 
[[email protected] 
[[email protected] 
[[email protected] 
ECT. 

首先,我只是想弄清楚如何使用这个功能,或者我应该尝试不同的东西,看对象是否移动或不?

由于数组对象没有toString方法,因此您的问题已成事实,因此您的System.out.println(my_finch.getObstacleSensors());不会打印布尔值。

尝试System.out.println(Arrays.toString(my_finch.getObstacleSensors()));

+0

谢谢你的工作。这是运行在一个循环,所以结果不断打印出来,我想要做的是如果[真,假]连续出现两次,然后例如程序将停止。任何方式我可以做到这一点? – Bart123