用Java做一个简易收费站对客车和货车进行不同收费
时间: 2023-05-19 22:01:10 浏览: 71
好的,这个问题可以回答。以下是一个简单的Java代码示例,用于计算客车和货车的不同收费:
```
import java.util.Scanner;
public class TollBooth {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入车型(1表示客车,2表示货车):");
int type = input.nextInt();
System.out.print("请输入车重(单位:吨):");
double weight = input.nextDouble();
double fee = 0;
if (type == 1) {
fee = 10 + weight * 2;
} else if (type == 2) {
fee = 20 + weight * 5;
}
System.out.println("收费金额为:" + fee + "元");
}
}
```
这个程序会要求用户输入车型和车重,然后根据不同的车型和车重计算出收费金额。客车的收费标准是10元起步费加上每吨2元,货车的收费标准是20元起步费加上每吨5元。
相关问题
一个简单的客车售票系统Java
下面是一个简单的客车售票系统的 Java 实现,其中包括了车辆信息、座位信息、购票、退票等功能。
```java
import java.util.Scanner;
public class BusTicketSystem {
static String[] buses = {"K123", "K456", "K789"}; // 车辆信息
static int[][] seats = {{1,2,3,4,5,6,7,8,9,10}, // 座位信息
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}};
static int[][] tickets = new int[buses.length][seats[0].length]; // 票务信息
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:1.购票 2.退票 3.退出系统");
int option = sc.nextInt();
if (option == 1) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 1) {
System.out.println("该座位已被购买!");
continue;
}
tickets[busIndex][seat-1] = 1;
System.out.println("购票成功!");
} else if (option == 2) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 0) {
System.out.println("该座位未被购买!");
continue;
}
tickets[busIndex][seat-1] = 0;
System.out.println("退票成功!");
} else if (option == 3) {
System.out.println("谢谢使用!");
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
sc.close();
}
}
```
上面的代码中,我们使用了一个二维数组 `seats` 来存储每个车辆的座位信息,使用一个二维数组 `tickets` 来存储每个座位的票务信息。在购票和退票时,我们需要先输入车次和座位号,然后判断该座位是否已被购买或未被购买,最后更新票务信息。
用java编写一个停车场管理系统
好的,停车场管理系统主要包括以下功能:
1. 停车场的初始化:包括停车场信息的读取,车位的初始化等。
2. 车辆的进出管理:包括车辆的进入和出去的时间、车位的占用情况等。
3. 收费管理:根据车辆的停留时间和车型,计算停车费用。
4. 停车场信息的查询:包括停车场的总车位数、剩余车位数、已停车辆信息等。
下面是一个简单的停车场管理系统的Java代码实现:
```java
import java.util.*;
class Car {
private String plateNumber; // 车牌号
private int carType; // 车型
private Date enterTime; // 进入时间
private Date exitTime; // 出去时间
private double cost; // 停车费用
public Car(String plateNumber, int carType) {
this.plateNumber = plateNumber;
this.carType = carType;
}
public String getPlateNumber() {
return plateNumber;
}
public int getCarType() {
return carType;
}
public Date getEnterTime() {
return enterTime;
}
public void setEnterTime(Date enterTime) {
this.enterTime = enterTime;
}
public Date getExitTime() {
return exitTime;
}
public void setExitTime(Date exitTime) {
this.exitTime = exitTime;
}
public double getCost() {
return cost;
}
public void setCost(double cost) {
this.cost = cost;
}
}
public class ParkingLot {
private int totalSpace; // 总车位数
private int remainingSpace; // 剩余车位数
private List<Car> cars; // 已停车辆信息
public ParkingLot(int totalSpace) {
this.totalSpace = totalSpace;
this.remainingSpace = totalSpace;
this.cars = new ArrayList<>();
}
// 进入停车场
public boolean enter(Car car) {
if (remainingSpace <= 0) {
System.out.println("停车场已满!");
return false;
}
car.setEnterTime(new Date());
cars.add(car);
remainingSpace--;
System.out.println("车辆 " + car.getPlateNumber() + " 进入停车场,当前剩余车位数为 " + remainingSpace);
return true;
}
// 出停车场
public void exit(Car car) {
if (!cars.contains(car)) {
System.out.println("该车辆未在停车场内!");
return;
}
car.setExitTime(new Date());
long minutes = (car.getExitTime().getTime() - car.getEnterTime().getTime()) / (1000 * 60); // 计算停车时间
double cost = calculateCost(car.getCarType(), minutes); // 计算停车费用
car.setCost(cost);
cars.remove(car);
remainingSpace++;
System.out.println("车辆 " + car.getPlateNumber() + " 离开停车场,停车费用为 " + cost + " 元,当前剩余车位数为 " + remainingSpace);
}
// 计算停车费用
private double calculateCost(int carType, long minutes) {
double costPerMinute;
if (carType == 1) { // 小汽车
costPerMinute = 0.1;
} else if (carType == 2) { // 大客车
costPerMinute = 0.2;
} else { // 货车
costPerMinute = 0.3;
}
return costPerMinute * minutes;
}
// 查询停车场信息
public void showInfo() {
System.out.println("停车场总车位数:" + totalSpace);
System.out.println("停车场剩余车位数:" + remainingSpace);
System.out.println("已停车辆信息:");
for (Car car : cars) {
System.out.println("车牌号:" + car.getPlateNumber() + ",进入时间:" + car.getEnterTime() + ",停车费用:" + car.getCost() + " 元");
}
}
public static void main(String[] args) {
ParkingLot parkingLot = new ParkingLot(10);
Car car1 = new Car("京A12345", 1);
parkingLot.enter(car1);
try {
Thread.sleep(5000); // 模拟停车5分钟
} catch (InterruptedException e) {
e.printStackTrace();
}
parkingLot.exit(car1);
Car car2 = new Car("京B67890", 2);
parkingLot.enter(car2);
try {
Thread.sleep(10000); // 模拟停车10分钟
} catch (InterruptedException e) {
e.printStackTrace();
}
parkingLot.exit(car2);
parkingLot.showInfo();
}
}
```
以上代码实现一个简单的停车场管理系统,包含了车辆的进出管理、收费管理、停车场信息的查询等功能。