private int currentSpeed;
private static final int MAXIMUM_SPEED = 100;
private int heading;
int speedUp(int increaseBy) {
currentSpeed += increaseBy;
return currentSpeed;
}
int slowDown(int decreaseBy) {
currentSpeed -= decreaseBy;
return currentSpeed;
}如何防止值currentSpeed超过speedUp方法中的MAXIMUM_VALUE变量,以及在不使用if语句的情况下防止slowDown方法中的值降到0以下。我相信使用Math.min & Math.max是可行的,但我不知道如何实现。
发布于 2014-11-12 20:03:12
使用Math.max和Math.min如下所示:
int speedUp(int increaseBy) {
currentSpeed = Math.min(currentSpeed + increaseBy,MAXIMUM_SPEED);
return currentSpeed;
}
int slowDown(int decreaseBy) {
currentSpeed = Math.max(currentSpeed - decreaseBy,0);
return currentSpeed;
}发布于 2014-11-12 20:02:43
您应该能够使用三元算子
int speedUp(int increaseBy) {
currentSpeed = currentSpeed + increaseBy < MAXIMUM_SPEED ? currentSpeed += increaseBy : MAXIMUM_SPEED;
return currentSpeed;
}
int slowDown(int decreaseBy) {
currentSpeed = currentSpeed - decreaseBy > 0 ? currentSpeed -= decreaseBy : 0;
return currentSpeed;
}https://stackoverflow.com/questions/26895489
复制相似问题