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将确定Finch的尾部是否被轻敲。
如果是这样,芬奇应该以口语“谢谢”做出回应,然后向后退
用户指定的时间间隔。
我只是想固定用户指定的时间间隔(此刻),而在实现它时遇到了麻烦。
如果我尝试此代码
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文件。
最佳答案
更改为
if (myf.isTapped() == true)
甚至更好
if (myf.isTapped())
=
表示assignment,==
表示comparison。