2017-01-16 106 views
-2

我用drjava穩定-20120818-r5686編碼如何通過用戶輸入的號碼移動機器人?

class Assignment2 
    { 
    public static void main(String[] args) 
     { 
     World barney=new World(20,20); 
     Robot bob=new Robot(); 
     barney.addBeeper(6,4); 
     barney.add(bob,4,4,"north"); 
     System.out.println("1. Turn left from current direction."); 
    System.out.println("2. Turn right from current direction."); 
    System.out.print("Enter Choice: "); 
    int choice=Console.readInt(); 

    if(choice==1) 
    { 
    bob.turnLeft(); 
    } 
    else 
    { 
    bob.turnLeft(); 
    bob.turnLeft(); 
    bob.turnLeft(); 
    } 

    System.out.println("1. Move Forward Once."); 
    System.out.println("2. Move Forward Twice."); 
    System.out.println("3. Move Forward X Times."); 
    System.out.println("Enter Choice: "); 
    int choice2=Console.readInt(); 
    if(choice2==1) 
    { 
     bob.move(); 
    } 
    if(choice2==2) 
    { 
     bob.move(); 
     bob.move(); 
    } 
    else 
    { 
     System.out.println("Enter X: "); //dont know what to do next :(
    } 
    [enter image description here][1]` 

**我們老師說,使用循環(雖然)這樣做,但我真的不知道怎麼 **

+5

也許問問你的老師嗎? – JFPicard

+0

在這裏得到答案不會幫助你。向你的老師詢問或遵循一些教程來了解基本語言。那麼你將能夠解決這個問題。 – AxelH

+0

或者你的同學(你可能已經知道了,這是爲了以防萬一)。 –

回答

1

類似:

System.out.println("Enter X: "); 
int x =Console.readInt(); 
while(x>0) { 
     bob.move(); 
     x--; 
     } 
+1

對於這類問題,我建議你解釋一下這段代碼。一般而言,這對於簡單的代碼來說不是必需的,但是您正在回答新的開發人員,所以他可能不理解或僅僅複製該代碼。 – AxelH

+0

謝謝@Khalil你讓我看起來很蠢:)) – chipchap31

+0

謝謝你的建議。我會在下次考慮。 – Khalil

0

檢查出While Loop Oracle文檔,如下面提到有關語法部分:

一段時間(表達){ 聲明(S) }

利用這一點,下面這段代碼應該解決您的問題...

int X=Console.readInt(); 
while(X-->0){ bob.move();} 
+0

我建議你閱讀[答],特別是關於答案中的鏈接部分。 – AxelH

+0

我讀過了,這是我能得到多少解釋...我還錯過了什麼? –

+0

這樣更好:)你總是可以簡單地解釋一下什麼是一個表達式,但是你很快就會寫出關於Java的教程;) – AxelH