2010-10-19 70 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