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

09-05 00:26
查看更多