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文件。
答案 0 :(得分:3)
答案 1 :(得分:2)
尝试更改
if (myf.isTapped() = true)
到
if (myf.isTapped())
答案 2 :(得分:-1)
在所有语言中(至少在jS,Python,Java和C#中)=
表示赋值。 ==
是“等于”运算符。
我来自Python背景,所以:
test = True
if test == True:
print("Hello")
else:
print("Goodbye")
运行此代码的结果将是
Hello