首页 > 解决方案 > 创建车辆程序

问题描述

现在我正在从我获得的 Java 电子书中做一些任务,不幸的是,我被卡住了。这个程序的主要思想是创建一个Vehicle类,它与一个测试程序一起可以增加、减少和打破当前的速度。

起始速度应为 0。我希望用户指定汽车应开到的速度(例如 90 公里/小时)。在达到速度(在这种情况下为 90)后,我希望程序询问用户是否要将速度降低到给定值,保持相同的速度,或者中断到 0。所有这些都应该在测试程序中完成,还是应该在 Vehicle 类中实现?

我应该从以下 UML 创建一个程序:https ://i.stack.imgur.com/01fgM.png

到目前为止,这是我的代码:

public class Vehicle {
    int speed;

    //Constructor
    public Vehicle () {
        this.speed = 0;
    }

    public void increaseSpeed (int differenceInc) {
        this.speed += differenceInc;
    }

    public void decreaseSpeed (int differenceDec) {
        this.speed -= differenceDec;
    }

    public void brake() {

    }

    public int getSpeed () {
        return this.speed;
    }   
}

这是我的空测试课。

public class VehicleTest {

public static void main(String[] args) {

    Vehicle golf = new Vehicle();

    //Speed which should be accelerated to:
    Vehicle myHybrid = new Vehicle();

    System.out.println("You've hit the given speed. Do you want to stay at this speed, break, or decrease to another given speed?");

}

}

标签: javaclassmethods

解决方案


好吧,首先,欢迎来到 Stack Overflow。

如果您想要一个方法接受参数(参数),那么您必须在 mehtod 声明中声明所述参数和参数的类型:

    public void increaseSpeed (int augmentValue) {
        this.speed += augmentValue;
    }

您还在询问软件设计:“组件(车辆)用户或客户端是否应该能够设置 increaseSpeed 方法的增加值?” . 答案取决于所述组件的设计。如果您的方法将接受一个参数,那么该方法可能还应该验证输入值并建立前置和后置条件。

希望这可以帮助。


推荐阅读