簡體   English   中英

Java用戶輸入?

[英]Java user input?

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

更改為

if (myf.isTapped() == true)

甚至更好

if (myf.isTapped())

=表示分配==表示比較

嘗試改變

 if (myf.isTapped() = true)

 if (myf.isTapped())

在所有語言中(至少在jS,Python,Java和C#中) =表示賦值。 ==是“等於”運算符。

我來自Python背景,因此:

test = True
if test == True:
    print("Hello")
else:
    print("Goodbye")

運行此代碼的結果將是

Hello

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM