Java实验--机动车

该文介绍了一个Java编程实验,旨在让学生使用类封装机动车对象的属性和功能。Vehicle类包含速度和功率属性,以及加速、减速、设置功率的方法。User类在main方法中创建Vehicle对象并演示其功能。实验还提出了对speedUp和speedDown方法的改进,以及添加刹车方法brake()。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验4.1 机动车

一、实验目的

本实验的目的是让学生使用类来封装对象的属性和功能。

三、实验要求

编写一个简单的Java应用程序,该程序有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下:

  1. Vehicle类有个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。类中定义了speedUp(int s)方法,体现机动车有加速功能;定义了speedDown(int d)方法,体现机动车有减速功能;定义了setPower(int p)方法,用于设置机动车的功率;定义了getPower()方法,用于获取机动车的功率。机动车的UML图如图4.2所示。
  2. 在主类User的 main()方法中用Vehicle为创建对象,并让该对象调用方法设置功率,演示加速和减速功能。

四、程序效果示例

程序运行效果如图4.3所示。

 图4.3 Vehicle类创建对象

运行结果如下:

五、程序模板

请按模板要求,将【代码】替换为Java程序代码。

【Vehicle.java】

public class Vehicle {
        double speed;//声明double型变量speed,刻画速度
        int power;  //声明int型变量power,刻画功率

    void speedUp(int s) {
        speed = s+speed;//将参数s的值与成员变量speed的和赋值给成员变量speed
    }
    void speedDown(int d) {
        speed= speed-d; //将成员变量speed与参数d的差赋值给成员变量speed
    }
    void setPower(int p) {
        power = p; //将参数p的值赋值给成员变量power
    }
    int getPower() {
        return  power; //返回成员变量power的值
    }
    double getSpeed() {
        return speed;
    }
   
}

【User.java】

public class User {

    public static void main(String args[]) {

        Vehicle car1, car2;

      car1 = new Vehicle();  //使用new运算符和默认的构造方法创建对象car1

      car2 = new Vehicle();//使用new运算符和默认的构造方法创建对象car2

        car1.setPower(128);

        car2.setPower(76);

        System.out.println("car1的功率是:"+car1.getPower());

        System.out.println("car2的功率是:"+car2.getPower());

      car1.speedUp(80);//car1调用speedUp()方法将自己的speed的值增加80

      car2.speedUp(80);//car2调用speedUp()方法将自己的speed的值增加80

        System.out.println("car1目前的速度:"+car1.getSpeed());

        System.out.println("car2目前的速度:"+car2.getSpeed());

        car1.speedDown(10);

        car2.speedDown(20);

        System.out.println("car1目前的速度:"+car1.getSpeed());

        System.out.println("car2目前的速度:"+car2.getSpeed());

    }

}

五、实验后的练习

(1)改进speedUp()方法,使得Vehicle类的对象在加速时不能将speed值超过200。

void speedUp(int s) {

    if (s+speed > 200){

        this.speed = 200;

    }else {

        this.speed = s+speed;

    };//将参数s的值与成员变量speed的和赋值给成员变量speed

}

2. 改进speedDown()方法,使得Vehicle类的对象在减速时不能将speed值小于0。

(4)void speedDown(int d) {
    if(speed-d < 0){
        this.speed=0;
    }
    else {
        this.speed= speed-d; //将成员变量speed与参数d的差赋值给成员变量speed
    }
}

(3)增加一个刹车方法void brake(),Vehicle类的对象调用它能将speed的值变成0。

void brake(){

    this.speed = 0;

}

调用brake:

car1.brake();

System.out.println("car1目前的速度:"+car1.getSpeed());
结果如下:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值