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 的尾巴是否被轻拍。如果是这样,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 文件。