定义两个interface(载货和载人)
package homework;
/*
* 定义载货的接口
*/
public interface Cargo {
int cargo=0;
public int getCargo();
public void setCargo(int cargo);
}
package homework;
/*
* 定义载人的接口
*/
public interface Passenger {
int passenger=0;
public int getPassenger();
public void setPassenger(int passenger);
}
定义一个父类(包括了各元素和父类方法)
package homework;
/*
* 定义汽车类别(父类)的序号、名字和价格;
*/
public class Carbasics {
private int id;
private String name;
private int price;
/*
* 封装属性
*/
public int getId() {
return id;
}
public void setId(int id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getPrice() {
return price;
}
public void setPrice(int price){
this.price=price;
}
public int getCargo() {
return 0;
}
public void setCargo(int carog){
}
public int getPassenger() {
return 0;
}
public void setPassenger(int passenger){
}
/*
* 创建打印列表的父类方法
*/
public void printList(){
}
}
创建三个子类(载客车Car;载货车Truck;皮卡Pickup)
package homework;
public class Car extends Carbasics implements Passenger {
/*
* 构造方法,创建Car;
*/
Car(int id,String name,int price,int passenger) {
this.setId(id);
this.setName(name);
this.setPrice(price);
this.setPassenger(passenger);
}
private int passenger;
/*
* 封装属性
*/
@Override
public int getPassenger() {
// TODO Auto-generated method stub
return passenger;
}
@Override
public void setPassenger(int passenger) {
this.passenger=passenger;
// TODO Auto-generated method stub
}
/*
* 重载父类方法打印列表
*/
public void printList(){
System.out.println(
getId()+".\t"+getName()+"\t"+getPrice()+"元/天"+"\t"+
"载人:"+getPassenger()+"人");
}
}
package homework;
public class Truck extends Carbasics implements Cargo {
/*
* 构造方法,创建Truck;
*/
Truck(int id,String name,int price,int cargo) {
this.setId(id);
this.setName(name);
this.setPrice(price);
this.setCargo(cargo);
}
private int cargo;
/*
* 封装属性
*/
@Override
public int getCargo() {
// TODO Auto-generated method stub
return cargo;
}
@Override
public void setCargo(int cargo) {
this.cargo=cargo;
// TODO Auto-generated method stub
}
/*
* 重载父类方法打印列表
*/
public void printList(){
System.out.println(
getId()+".\t"+getName()+"\t"+getPrice()+"元/天\t"+
"载货:"+getCargo()+"吨");
}
}
package homework;
public class Pickup extends Carbasics implements Cargo,Passenger {
/*
* 构造方法,创建Car;
*/
Pickup(int id,String name,int price,int passenger,int cargo) {
this.setId(id);
this.setName(name);
this.setPrice(price);
this.setPassenger(passenger);
this.setCargo(cargo);
}
private int passenger;
private int cargo;
/*
* 封装属性
*/
@Override
public int getPassenger() {
// TODO Auto-generated method stub
return passenger;
}
@Override
public void setPassenger(int passenger) {
this.passenger=passenger;
// TODO Auto-generated method stub
}
@Override
public int getCargo() {
// TODO Auto-generated method stub
return cargo;
}
@Override
public void setCargo(int cargo) {
this.cargo=cargo;
// TODO Auto-generated method stub
}
/*
* 重载父类方法打印列表
*/
public void printList(){
System.out.println(
getId()+".\t"+getName()+"\t"+getPrice()+"元/天"+"\t"+
"载人:"+getPassenger()+"人"+"载货:"+getCargo()+"吨");
}
创建测试类如下:
package homework;
import java.util.Scanner;
public class Initiail {
/*
* 初始化输入对象
*/
Scanner input=new Scanner(System.in);
/*
* 定义各车型
*/
Carbasics[] cars={
new Car(1,"奥迪A4",500,4),
new Car(2,"马自达6",400,4),
new Pickup(3,"皮卡雪6",450,4,2),
new Car(4,"金龙",800,20),
new Truck(5,"松花江",400,4),
new Truck(6,"依维柯",1000,20),
};
/*
* 欢迎语句
*/
void mianSystem(){
System.out.println("欢迎使用答答租车系统:\n您是否要租车:1是 0否");
int num=input.nextInt();
if(num==1){
System.out.println("您可租车的类型及其价目表:\n序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t"+"容量");
for(int i = 0;i<cars.length;i++){
cars[i].printList();
}
}else{
System.out.println("感谢您使用答答租车系统!");
}
/*
* 获取需要租入的车辆数量、序号以及天数;
*/
System.out.println("请输入您要租的汽车数量");
num=input.nextInt();
int[] selectNum=new int[num];
for(int i=0;i<num;i++){
int j=i+1;
System.out.println("请输入第"+j+"辆车的序号:");
selectNum[i]=input.nextInt();
}
System.out.println("请输入租车天数");
int day=input.nextInt();
/*
* 输出可载人车辆的清单及可载人数
*/
System.out.println("您的账单:\n***可载人的车有:");
int pessengerSum=0;
for(int i=0;i<num;i++){
int j=selectNum[i]-1;
int pessengerNum=cars[j].getPassenger();
if(pessengerNum>0){
System.out.print(cars[j].getName()+"\t");
}
pessengerSum+=pessengerNum;
}
if(pessengerSum>0){
System.out.println("共载人:"+pessengerSum+"人");
}else{
System.out.println("抱歉!您选中的车辆中没有可载人的车辆!");
}
/*
* 输出可载货车辆的清单及可载吨数
*/
System.out.println("***可载货的车有:");
double cargoSum=0;
for(int i=0;i<num;i++){
int j=selectNum[i]-1;
int cargoNum=cars[j].getCargo();
if(cargoNum>0){
System.out.print(cars[j].getName()+"\t");
}
cargoSum+=cargoNum;
}
if(cargoSum>0){
System.out.println("共载货:"+cargoSum+"吨");
}else{
System.out.println("抱歉!您选中的车辆中没有可载货的车辆!");
}
/*
* 输出总价款
*/
double priceSum=0;
for(int i=0;i<num;i++){
int j=selectNum[i]-1;
int priceNum=cars[j].getPrice();
priceSum=priceSum+priceNum*day;
}
System.out.println("***租车总价格:"+priceSum+"元");
}
/*
* 运行程序方法
*/
public static void main(String[] args) {
Initiail cr=new Initiail();
cr.mianSystem();
// TODO Auto-generated method stub
}
}
点击查看更多内容
30人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦