use*_*256 2 java state if-statement
public void manage()
{
double speed = getSpeedfromVehicle();
if(speed >=0 && speed <= 10)
{
System.out.println("Low Speed mode");
}
else if(speed > 10 && speed < 60)
{
System.out.println("Medium Speed Mode");
}
else if(speed >= 60)
{
System.out.println("High Speed Mode");
}
}
Run Code Online (Sandbox Code Playgroud)
当车辆开始移动时,我的管理方法被调用用于每个速度变化.如果速度保持在一个类别(0到10)中,我只需要打印一次输出语句,即使对于速度0到10,manage()被称为无限次,这也适用于其他速度范围.它也应该切换到其他速度范围,并且应该只打印一次速度范围.
您需要有一个变量来检查当前速度模式.我会考虑使用带有我的速度状态的枚举类作为值.每次速度范围更改时,都会更新本地SpeedState枚举值并在manage()方法中对其进行验证.
在我的头顶,它看起来像以下......
public enum SpeedState {
LOW, MEDIUM, HIGH
}
public class Drive{
private SpeedState state;
// Supporting code, loops, etc
public void manage(){
double speed = getSpeedfromVehicle();
if((speed >=0 && speed <= 10) && state != SpeedState.LOW)
{
state = SpeedState.LOW;
System.out.println("Low Speed mode");
}
else if((speed > 10 && speed < 60) && state != SpeedState.MEDIUM)
{
state = SpeedState.MEDIUM;
System.out.println("Medium Speed Mode");
}
else if((speed >= 60) && state != SpeedState.HIGH)
{
state = SpeedState.HIGH;
System.out.println("High Speed Mode");
}
}
}
Run Code Online (Sandbox Code Playgroud)