emmm....因为以前是先学的c语言这里写的面向对象的思想不多,只创建了一个汽车类
然后new了一个汽车数组对象来保存属性
开始写的时候看到有人创建了3个汽车类就有点复杂了
我是看到一条评论,把不同汽车的载人量和载货量这里两个属性用0区分
比如有的汽车载人量为0,有些汽车载货量为0,这样就简单很多
Main.java
package com.DADA;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("欢迎使用DaDa租车系统:");
System.out.println("您是否要租车:1是 0否");
Scanner in = new Scanner(System.in);
int i = in.nextInt();
if(i==1) {
Price price = new Price();
System.out.println("你可以租车的类型及价目表:");
price.printprice();
System.out.println("请输入您要租车的数量:");
price.countprice();
}else if(i==0) {
System.out.println("再见");
}
}
}
汽车类
package com.DADA;
public class Car {
String name;
int no;
int dayprice;
int manned;
int cargo;
public Car(int no,String name,int dayprice,int manned,int cargo) {
this.name = name;
this.no = no;
this.dayprice = dayprice;
this.manned = manned;
this.cargo = cargo;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public int getDayprice() {
return dayprice;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setDayprice(int dayprice) {
this.dayprice = dayprice;
}
public int getManned() {
return manned;
}
public void setManned(int manned) {
this.manned = manned;
}
public int getCargo() {
return cargo;
}
public void setCargo(int cargo) {
this.cargo = cargo;
}
}
打印和输出价格的类,其中一个打印价格表的方法,另一个计算总价格的方法
package com.DADA;
import java.util.Scanner;
public class Price {
Car[] car = new Car[6];
public void printprice() {
System.out.println("序号 汽车名称 租金 容量");
System.out.println("1. 奥迪A4 500元/天 载人:4人");
System.out.println("2. 马自达6 400元/天 载人:4人");
System.out.println("3. 皮卡雪6 450元/天 载人:4人 载货:2吨");
System.out.println("4. 金龙 800元/天 载人:20人");
System.out.println("5. 松花江 400元/天 载货:4吨");
System.out.println("6. 猛禽F150 1000元/天 载人:4人 载货:20吨");
car[0] = new Car(1,"奥迪A4",500,4,0);
car[1] = new Car(2,"马自达6",400,4,0);
car[2] = new Car(3,"皮卡雪6",450,4,2);
car[3] = new Car(4,"金龙",800,20,0);
car[4] = new Car(5,"松花江",400,2,4);
car[5]= new Car(6,"猛禽F150",1000,4,20);
}
public void countprice(){
//输入租车的数量
Scanner in = new Scanner(System.in);
int n =in.nextInt();
while(n>6 || n<=0) {
System.out.println("输入错误,请重新输入:");
n = in.nextInt();
}
//输入要租车辆的序号
int[] a = new int[7];
for(int j=1;j<=n;j++) {
System.out.println("请输入第"+j+"辆车的序号");
a[j] = in.nextInt(); //把车辆序号存到数组中
while(a[j]>6||a[j]<=0) {
System.out.println("错误车辆序号,重新输入:");
a[j] = in.nextInt();
}
}
//租车天数
System.out.println("输入租车天数:");
int day = in.nextInt();
//开始计算账单
System.out.println("您的账单:");
String[] str1 = new String[10]; //存载人车辆的名字
String[] str2 = new String[10];//存载货车辆的名字
int cp=0; //总载人数
double cc=0; //总载货量
for(int z=1;z<=n;z++){
if(car[a[z]-1].manned>0) {
cp=car[a[z]-1].manned+cp;
str1[z] = car[a[z]-1].name;
}
if(car[a[z]-1].cargo>0){
cc=car[a[z]-1].cargo+cc;
str2[z] = car[a[z]-1].name;
}
}
System.out.println("***可载人的车有:");
for(int i=1;i<=n;i++){
System.out.print(str1[i]+" ");
}
System.out.println("共载人:"+cp+"人");
if(cc > 0){
System.out.println("***可载货的车有:");
for(int i=1;i<=n;i++){
if(str2[i]==null) {
continue;
}
System.out.print(str2[i]+" ");
}
System.out.println("共载货:"+cc+"吨");
}
double count=0;
for(int x=1;x<=n;x++){
count=car[a[x]-1].dayprice+count;
}
System.out.println("***租车总价格:"+count*day+"元");
}
}
热门评论
不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错不错