【JavaSE練習】面向物件_練習_模擬汽車的自動駕駛系統
阿新 • • 發佈:2019-01-05
模擬汽車駕駛系統
定義一個交通工具的類,包括:
屬性:速度
方法:設定速度,加速度
測試類中例項化一個交通工具物件
通過方法初始化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時,程式停止執行,可自行測試