Java实验--机动车

这篇具有很好参考价值的文章主要介绍了Java实验--机动车。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验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所示。

Java实验--机动车

 图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());
结果如下:

Java实验--机动车文章来源地址https://www.toymoban.com/news/detail-410147.html

到了这里,关于Java实验--机动车的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用SQL语句创建实验数据库(以学生表为例)

     (1) 创建数据库stuexpm create database stuexpm   (2) 创建studentinfo表,显示studentinfo表的基本结构 use stuexpm create table studentInfo ( StudentID varchar(6) not null primary key comment \\\'学号, Name varchar(8) not null comment\\\'姓名‘, Sex varchar(2) not null default \\\'男\\\' comment\\\'性别\\\', Birthday date not null comment\\\'出生日期

    2024年02月07日
    浏览(57)
  • 问,由于java存在性能上,以及部分功能上的缺点,请问如何正确使用C,C++,Go,这三个语言,提升Java Web项目的性能?

    拓展阅读:版本任你发,我用java8 我明白Java虽然在许多方面表现出色,但在某些特定场景下可能会遇到性能瓶颈或功能限制。为了提升Java Web项目的性能,可以考虑将C、C++和Go这三种语言用于特定的组件或服务。以下是如何正确使用这些语言来提升性能的一些建议: 1. **性能

    2024年04月23日
    浏览(37)
  • java设计模式-目的及思想

    某类问题的通用解决方案; 代码重用性 相同功能的代码,不用多次编写 可读性 编程规范,便于其他程序员阅读和理解 可扩展性 新增功能时,非常的方便 可靠性 新增功能时,对原功能无影响 高内聚、低耦合 使程序高内聚、低耦合 找出应用中可能变化之处,把他们独立出

    2024年02月08日
    浏览(44)
  • 基于Java+Spring+Vue电动车实名制挂牌管理系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作 ✌ 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年02月03日
    浏览(62)
  • java基于微信小程序的共享单车电动车租赁系统 uniapp 小程序

    随着在我国国民水平的提高,低碳环保的概念也深入人心越来越多的人选择了绿色环保的出现方式,共享单车更是为绿色出行提供了一个有利的保障。通过本人的调查研究发现,很多大学的共享单车的管理还是用手工传统的方式在进行,为了能够让大学共享单车的管理跟上时

    2024年02月09日
    浏览(45)
  • Java项目的性能优化样例

    场景一:高并发频繁的数据库访问 解决方案: 总所周知的是:加缓存,最常见的是:加缓存中间件如 Redis,当然了这里要说的不是这个,增加一个中间件多少有点费事儿; 通过Java类的方式解决 POM添加jar包 //在 service 层或者 DAO 层创建了一个名为 consumerCache 的缓存池,这里用

    2024年02月08日
    浏览(42)
  • 2023年以就业为目的学习Java还有必要吗?

    现在学 Java 找工作还有优势吗? 在某乎上可以看到大家对此问题的热议:“2023年以就业为目的学习Java还有必要吗?” 。有人说市场饱和,最好是学点当前最流行的技术;也有人说 Java 应用广泛,以找工作为目的学习它还是很有必要的。 放眼国内市场,可能有些场景有 Jav

    2024年02月08日
    浏览(44)
  • 【文末送书】2023年以就业为目的学习Java还有必要吗?

    「作者主页」 :雪碧有白泡泡 「个人网站」 :雪碧的个人网站 「推荐专栏」 : ★ java一站式服务 ★ ★ React从入门到精通 ★ ★ 前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升 ★ ★ 从0到英雄,vue成神之路 ★ ★ 解决算法,一个专栏就够了 ★ ★

    2024年02月09日
    浏览(54)
  • 2023年以就业为目的学习Java还有必要吗?(文末送书)

    大家好,我是哪吒。 文末送5本《Java编程动手学》 今天来探讨一个问题,现在学 Java 找工作还有优势吗? 在某乎上可以看到大家对此问题的热议:“2023年以就业为目的学习Java还有必要吗?” 。有人说市场饱和,最好是学点当前最流行的技术;也有人说 Java 应用广泛,以找

    2024年02月08日
    浏览(49)
  • LeetCode:2171. 拿出最少数目的魔法豆(C++、Java 排序 + 前后缀)

    目录 2171. 拿出最少数目的魔法豆 题目描述: 实现原理与解析: 排序 + 前后缀 原理思路:         给定一个  正整数  数组  beans  ,其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中  拿出  一些豆子(也可以  不拿出 ),使得剩下的  非空  袋子

    2024年01月20日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包