2017-03-03 75 views
0

我正在研究雀科機器人,我遇到了使用其中一個功能的問題。 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. 

首先,我只是想弄清楚如何使用這個功能,或者我應該嘗試不同的東西,看對象是否移動或不?

回答

1

由於數組對象沒有toString方法,因此您的問題已成事實,因此您的System.out.println(my_finch.getObstacleSensors());不會打印布爾值。

嘗試System.out.println(Arrays.toString(my_finch.getObstacleSensors()));

+0

謝謝你的工作。這是運行在一個循環,所以結果不斷打印出來,我想要做的是如果[真,假]連續出現兩次,然後例如程序將停止。任何方式我可以做到這一點? – Bart123