java模拟加速匀速减速_【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统
【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练习】面向对象_练习_模拟汽车的自动驾驶系统相关推荐
- java模拟加速匀速减速_Android学习之 动画加速减速 匀速控制
今天说一下新发现的一个类的使用: 网上很多都写了Interpolator,你们先了解一下.我主要是简单说怎么用. Android 动画之Interpolator插入器 --AccelerateInte ...
- java模拟加速匀速减速_步进电机加速-匀速-减速运行程序(C51源程序)
ME300系列单片机开发系统+步进电机模块演示程序 功能:步进电机以加速方式启动,转速达到程序规定的最快速度后保持一段时间匀速运转,又开始以减速 方式运行直到步进电机停止转动.由K1键控制演示程序运行 ...
- java模拟加速匀速减速_Javascript模拟加速运动与减速运动代码分享
加速运动,即一个物体运动时速度越来越快:减速运动,即一个物体运动时速度越来越慢.现在用Javascript来模拟这两个效果,原理就是用setInterval或setTimeout动态改变一个元素与另外 ...
- java模拟加速匀速减速_JS实现匀加速与匀减速运动的方法示例
本文实例讲述了JS实现匀加速与匀减速运动的方法.分享给大家供大家参考,具体如下: /* * 动画帧函数 * * */ var requestFrame=function(){ var prefixLi ...
- unit自动驾驶怎么使用_这才是L2自动驾驶系统的正确打开方式
就实用的自动驾驶来讲,目前谈L3不现实,寥寥几款搭载L3的车型也对使用条件有很大限制,但是L2在这两年快速普及. 目前,主流车型的高配或者顶配版多数均具备了L2级自动驾驶能力.然而,很多朋友对于L2系 ...
- gta python解指纹_基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退...
一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下. Kyes.py文件 键盘映射,主要是把键位 ...
- python控制小车前进_基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退...
代码已放到码云 一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下. Keys.py文件 键盘映 ...
- qt 雷达扫描障碍物_自动驾驶系统入门(五) - 激光雷达
1.激光雷达基础解析 1.1 基本概念 1)激光雷达是一种向被测目标发射探测信号(激光束),然后测量反射或散射信号的到达时间.强弱程度等参数,以确定目标的距离.方位. 运动状态及表面光学特性的雷达系统 ...
- kitti数据集_神秘的Waymo一反常态,CVPR现场发布大型自动驾驶数据集
机器之心报道 参与:李亚洲.路 在正在火热进行的 CVPR 2019 现场,一直对技术都较为保密的 Waymo 宣布开源全新的自动驾驶数据集.该数据集包含 3000 段驾驶记录.60 万帧.大约 25 ...
最新文章
- TWaver Flex开发示例及license下载
- makefile小技巧
- C#设计模式--模板方法模式(学习Learning hard 设计模式笔记)
- Species Tree(HashTable实现)
- hash函数MurmurHash
- Sphere-AABB Intersecting test
- 结构-行为-样式-有趣的函数
- 拓端tecdat|SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
- 【笔记】OpenCV3 人脸识别
- 3点画矩形的lisp_AutoCAD LISP矩形窗格绘制
- [转]给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
- 计算机技术对英语课堂,信息技术在英语课堂中的运用
- Word/WPS文档中缩小行距
- Matlab GUI编程技巧(十三):checkbox创建复选框
- JVM帝国一日游【穿越小说】
- dota游戏之我之见
- button标签的type属性
- IIC 驱动OLED
- 深入解析Glide源码
- 【融职培训】Web前端学习 第2章 网页重构11 HTML5新增标签
热门文章
- 【2022-2028全球与中国复合材料双极板市场现状及未来发展趋势】
- 计算机会考监考员的操作流程,信息处理技术员上机考试操作流程
- 计算机系分团委学生会工作总结,计算机系分团委学生会工作总结范文1200字
- 2022全国科技周情感计算:CV语义个性化,NLP多模态,Voice语音,人脸情绪,脑电情感
- Linux系统实战部署私有云网盘
- 【精选】JAVA算法题(二十)
- vue 图表 组件库 vue-highcharts
- steam战舰世界网站服务器无法使用,Steam上最刚游戏!玩家不套路见面就是干,被称作EVE版战舰世界!...
- steam网站服务器无法使用,steam没法连接服务器,解决方法是什么?
- 咚咚咚————【封装驱动】Si5351A方波信号发生器发送任意(8K-160Mhz)频率程序