【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统

【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统

模拟汽车驾驶系统

定义一个交通工具的类,包括:

属性:速度

方法:设置速度,加速度

测试类中实例化一个交通工具对象

通过方法初始化speed,打印出来

调用方法对速度进行改变

当汽车停止运行时,程序结束运行

程序代码如下:

import java.util.Scanner;

/*

* 模拟汽车驾驶系统

* 定义一个交通工具的类,包括:

* 属性:速度

* 方法:设置速度,加速度

* 测试类中实例化一个交通工具对象

* 通过方法初始化speed,打印出来

* 调用方法对速度进行改变

* 当汽车停止运行时,程序结束运行

*/

class Car{

//属性

private double speed;//速度

//get,set方法

public void setSpeed(double speed) {

this.speed = speed;

}

public double getSpeed() {

return speed;

}

//加速度

public void speedUp(double speedUp, double timeUp) {

System.out.println("--------------------------------------");

/*

* 判断加速度为正,加速;为负,减速;否则匀速

*/

if (timeUp < 0) {

System.out.println("输入时间错误!(时间不能小于0)");

return;

}

if (speedUp > 0 && timeUp != 0) {

//加速度大于0,汽车正在加速

this.speed += timeUp * speedUp;//计算加速后的速度

System.out.println("汽车加速中,加速度为"+speedUp+"km/h/s,加速时间为"+timeUp+"s,加速结束车速为:"+this.speed+"km/h");

} else if (speedUp == 0 || timeUp == 0){

//加速度为0,速度不变

System.out.println("汽车匀速前进,车速为"+this.speed);

} else {

//首先,计算汽车停止所需要的时间

double time = Math.abs(this.speed / speedUp);

if (time > timeUp) {

this.speed += timeUp * speedUp;//计算减速后的速度

System.out.println("汽车减速中,加速度为"+speedUp+"km/h/s,减速时间为"+timeUp+"s,减速结束车速为:"+this.speed+"km/h");

} else {

System.out.println("汽车减速中,加速度为"+speedUp+"km/h/s,减速时间为"+timeUp+"s,"+time+"s后,汽车停止前进");

System.exit(0);//汽车停止前进,结束程序运行

}

}

}

}

public class Deom01 {

public static void main(String[] args) {

//键盘输入

Scanner sc = new Scanner(System.in);

//设置并获取初速度

System.out.println("请输入汽车的初始速度:");

//创建对象

Car car = new Car();

car.setSpeed(sc.nextDouble());

System.out.println("--------------------------------------");

System.out.println("汽车的初始速度为:"+car.getSpeed()+"km/h");

//建立一个循环系统,条件表达式为true,一直循环

while (true) {

//获取加速度和加速时间

System.out.println("--------------------------------------");

System.out.println("请输入加速度和加速时间:(空格隔开)");

car.speedUp(sc.nextDouble(), sc.nextDouble());

}

}

}

运行结果如下

当车速为0时,程序停止运行,可自行测试

【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统相关教程

java模拟加速匀速减速_【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统相关推荐

  1. java模拟加速匀速减速_Android学习之 动画加速减速 匀速控制

    今天说一下新发现的一个类的使用: 网上很多都写了Interpolator,你们先了解一下.我主要是简单说怎么用. Android 动画之Interpolator插入器 --AccelerateInte ...

  2. java模拟加速匀速减速_步进电机加速-匀速-减速运行程序(C51源程序)

    ME300系列单片机开发系统+步进电机模块演示程序 功能:步进电机以加速方式启动,转速达到程序规定的最快速度后保持一段时间匀速运转,又开始以减速 方式运行直到步进电机停止转动.由K1键控制演示程序运行 ...

  3. java模拟加速匀速减速_Javascript模拟加速运动与减速运动代码分享

    加速运动,即一个物体运动时速度越来越快:减速运动,即一个物体运动时速度越来越慢.现在用Javascript来模拟这两个效果,原理就是用setInterval或setTimeout动态改变一个元素与另外 ...

  4. java模拟加速匀速减速_JS实现匀加速与匀减速运动的方法示例

    本文实例讲述了JS实现匀加速与匀减速运动的方法.分享给大家供大家参考,具体如下: /* * 动画帧函数 * * */ var requestFrame=function(){ var prefixLi ...

  5. unit自动驾驶怎么使用_这才是L2自动驾驶系统的正确打开方式

    就实用的自动驾驶来讲,目前谈L3不现实,寥寥几款搭载L3的车型也对使用条件有很大限制,但是L2在这两年快速普及. 目前,主流车型的高配或者顶配版多数均具备了L2级自动驾驶能力.然而,很多朋友对于L2系 ...

  6. gta python解指纹_基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退...

    一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下. Kyes.py文件 键盘映射,主要是把键位 ...

  7. python控制小车前进_基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退...

    代码已放到码云 一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下. Keys.py文件 键盘映 ...

  8. qt 雷达扫描障碍物_自动驾驶系统入门(五) - 激光雷达

    1.激光雷达基础解析 1.1 基本概念 1)激光雷达是一种向被测目标发射探测信号(激光束),然后测量反射或散射信号的到达时间.强弱程度等参数,以确定目标的距离.方位. 运动状态及表面光学特性的雷达系统 ...

  9. kitti数据集_神秘的Waymo一反常态,CVPR现场发布大型自动驾驶数据集

    机器之心报道 参与:李亚洲.路 在正在火热进行的 CVPR 2019 现场,一直对技术都较为保密的 Waymo 宣布开源全新的自动驾驶数据集.该数据集包含 3000 段驾驶记录.60 万帧.大约 25 ...

最新文章

  1. TWaver Flex开发示例及license下载
  2. makefile小技巧
  3. C#设计模式--模板方法模式(学习Learning hard 设计模式笔记)
  4. Species Tree(HashTable实现)
  5. hash函数MurmurHash
  6. Sphere-AABB Intersecting test
  7. 结构-行为-样式-有趣的函数
  8. 拓端tecdat|SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
  9. 【笔记】OpenCV3 人脸识别
  10. 3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
  11. [转]给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
  12. 计算机技术对英语课堂,信息技术在英语课堂中的运用
  13. Word/WPS文档中缩小行距
  14. Matlab GUI编程技巧(十三):checkbox创建复选框
  15. JVM帝国一日游【穿越小说】
  16. dota游戏之我之见
  17. button标签的type属性
  18. IIC 驱动OLED
  19. 深入解析Glide源码
  20. 【融职培训】Web前端学习 第2章 网页重构11 HTML5新增标签

热门文章

  1. 【2022-2028全球与中国复合材料双极板市场现状及未来发展趋势】
  2. 计算机会考监考员的操作流程,信息处理技术员上机考试操作流程
  3. 计算机系分团委学生会工作总结,计算机系分团委学生会工作总结范文1200字
  4. 2022全国科技周情感计算:CV语义个性化,NLP多模态,Voice语音,人脸情绪,脑电情感
  5. Linux系统实战部署私有云网盘
  6. 【精选】JAVA算法题(二十)
  7. vue 图表 组件库 vue-highcharts
  8. steam战舰世界网站服务器无法使用,Steam上最刚游戏!玩家不套路见面就是干,被称作EVE版战舰世界!...
  9. steam网站服务器无法使用,steam没法连接服务器,解决方法是什么?
  10. 咚咚咚————【封装驱动】Si5351A方波信号发生器发送任意(8K-160Mhz)频率程序