【JavaSE练习】面向对象_练习_模拟汽车的自动驾驶系统,javase面向对象
分享于 点击 26255 次 点评:257
【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时,程序停止运行,可自行测试
相关文章
- 暂无相关文章
用户点评