6-4 汽车类 (20 分)

题目描述

编写汽车类,其功能有启动(start),停止(stop),加速(speedup)和减速(slowDown),启动和停止可以改变汽车的状态(on/off),初始时状态为off,速度为0,speedUp和slowDown可以调整汽车的速度,每调用一次汽车速度改变10(加速增10,减速减10),汽车启动后才能加减速,加速上限为160,减速下限为0,汽车速度减为0后才能停止,给出汽车类的定义。 Main函数中构造一个汽车对象,并对该对象进行操作,各个操作的编号为:
start
stop
speedup
slowdown 操作完成后打印出汽车的状态和速度。
输入描述:
操作

输出描述:

汽车的状态和速度

裁判测试程序样例:

import java.util.Scanner;
public class Main{
	
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		Car c = new Car();
		for (int i=0;i<n;i++) {
			int a = s.nextInt();
			switch (a) {
			case 1: c.start(); break;
			case 2: c.stop(); break;
			case 3: c.speedUp(); break;
			case 4: c.slowDown(); break;
			}
		}
		System.out.print(c.status + " ");
		System.out.println(c.speed);
	}

}

/* 你的代码被嵌在这里 */

输入样例:

在这里给出一组输入。例如:

8
1 3 3 4 3 4 4 2

输出样例:

在这里给出相应的输出。例如:

off 0

参考答案

class Car{
	public int speed = 0; // 车子的速度
	public String status = "off";    // 车子状态
	
	public void start() {
		//启动车子 速度为0
		speed = 0;
		status = "on";
	}
	
	public void stop() {
		//停止车子
		if( speed == 0) { // 车子速度为 0,才能停止
			status = "off";
		}	
	}
	
	public void speedUp() {
		if( (status == "on") && (speed < 160) ) { // 车子启动 && 没有加速上限
			speed += 10;
		}
	}
	
	public void slowDown() {
		if( (status == "on") && (speed > 0) ) { // 车子启动 && 没有减速下限
			speed -= 10;
		}
	}
}