myf = new Finch();
do
{
//menu 4
if (s.equals("Tap Test")) RunTapTest(s);
}
private static void RunTapTest(String s)
{
@SuppressWarnings("resource")
Scanner reader = new Scanner(System.in);
System.out.println("Enter the time interval in which you want the Finch to move backwards: ");
//get user input for tapBack
int tapBack = reader.nextInt();
System.out.println("\n"+"Running: "+s+"\n");
long before = System.currentTimeMillis();
while(System.currentTimeMillis() - before < testtime)
{
System.out.println(myf.isTapped());
//myf.setWheelVelocities(-255,0,testtime);
}
//I can't set myf.isTapped = true
if (myf.isTapped()) {
myf.setWheelVelocities(-255,0,tapBack);
}
}
宿題の質問は次のとおりです。
メニュー オプション 4 は、フィンチの尻尾がタップされたかどうかを判断します。その場合、フィンチは「ありがとう」という言葉で応答し、ユーザーが指定した時間間隔で後方に移動する必要があります。
ユーザーが指定した時間間隔を(現時点で)修正しようとしているところですが、実装に問題があります。
このコードを試すと
if (myf.isTapped() = true) {
myf.setWheelVelocities(-255,0,tapBack);
}
次のエラーが表示されます。
if (myf.isTapped() = true)
言って
代入の左辺は変数でなければなりません
myf.isTapped = true の場合、ロボットを後方に移動させる方法に苦労しています
多分 myf.isTapped はブール値を取ることができませんか?
ユーザー入力にhttp://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.htmlを使用しています (この場合は整数)
また、 my.isTapped は外部の Jar ファイルからのものだと思います。