2017-03-03 9 views
0

私はフィンチロボットで作業していますが、機能の1つで問題が発生しています。 my_finch.getObstacleSensors(). my_finchがロボットです。これがAPIの説明です。Java Finch Robot Obsctacleセンサー

public boolean [] getObstacleSensors() 2つの障害センサーの値を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());がブール値を出力しないためです。

try System.out.println(Arrays.toString(my_finch.getObstacleSensors()));

+0

ありがとうございます。これはループ内で実行されているので、結果がそのまま出力されているので、[真、偽]が2回連続して発生するとします。プログラムが停止します。私はこれを行うことができますどのような方法ですか? – Bart123