Java用户输入?

时间:2012-12-15 17:30:28

标签: java

  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文件。

3 个答案:

答案 0 :(得分:3)

将其更改为

if (myf.isTapped() == true)

甚至更好

if (myf.isTapped())

=表示assignment==表示comparison

答案 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