2010-10-19 93 views
0
public void turnRight() { 
     int direction=getDirection(); 
     if (direction==3) 
      direction=0; 
     else 
      direction++; 
     this.setDirection(direction); 

所以我有這種方法,當被調用時,方向增加1.但是,最大值應該是3,所以如果方向等於3並且方法被調用,那麼它應該去回到零。我有工作,但我確定有一種方法可以使用%運算符來完成此操作。任何人都可以告訴我如何?Java Modulo幫助

回答

2
direction++; 
direction%=4; 
+0

雅OK 4 works..that是很容易,謝謝 – Snowman 2010-10-19 02:57:28

0
int direction = getDirection(); 
direction++; 
direction = direction % 4; 
+0

%3一定是錯的... – Thilo 2010-10-19 02:56:52

+0

我想,在這種情況下,你應該考慮%4. – 2010-10-19 02:57:55

+0

方向的最大值應該是3,而不是2. – andersoj 2010-10-19 02:58:19

-1

公共無效右拐(){this.setDirection(getDirection()%4 == 3?0:getDirection()+ 1);}

+0

我認爲,在這種情況下,你應該考慮%4. – 2010-10-19 02:57:26

+0

是的 - 不得不認爲,通過兩次。 – Justin 2010-10-19 03:20:22