柒_夜4080291
2016-11-13 20:43
package demo.faceobj;
import java.util.*;
public class test {
public static void main(String[] args) {
int pSum=0;//总人数
int oSum=0;//总货物量
double sumMon=0;//总金额
Car[] crent={new peCar("奥迪",500,4),new peCar("马自达",400,4),new pickCar("皮卡",450,4,2),new
peCar("金龙",800,20),new obCar("松花江",400,4),new obCar("依维河",1000,20)};
System.out.println("欢迎使用租车系统:");
System.out.println("您是否需要租车:1是 0否");
Scanner input=new Scanner(System.in);
int n=input.nextInt();
if(n==1){
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t"+"容量");
for(int i=0;i<crent.length;i++){
System.out.print(i+1+".\t");
crent[i].print();
}
System.out.println("请输入要租车的数量:");
int num=input.nextInt();
int [] x=new int[num];//用以保存车序的数组
for(int i=0;i<num;i++){
System.out.println("请输入第"+(i+1)+"量车的序号:");
int Cnum=input.nextInt();
int innum=Cnum-1;
x[i]=innum;
}
System.out.println("请输入租车天数:");
int Day=input.nextInt();
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
for(int i=0;i<x.length;i++){
if(x[i]==0||x[i]==1||x[i]==2||x[i]==3){
System.out.print(crent[x[i]].name+"\t");
pSum+=crent[x[i]].pnum;
sumMon+=crent[x[i]].mon;
}
}
System.out.println("共载人:"+pSum+"人");
System.out.println("***可载货的车有:");
for(int i=0;i<x.length;i++){
if(x[i]==2||x[i]==4||x[i]==5){
System.out.print(crent[x[i]].name+"\t");
oSum+=crent[x[i]].onum;
sumMon+=crent[x[i]].mon;
}
}
for(int i=0;i<x.length;i++){
if(x[i]==2){
sumMon=sumMon-crent[x[i]].mon;
}
}
System.out.println("共载货:"+oSum+"吨");
sumMon*=Day;
System.out.print("***租车总价格:"+sumMon);
}else{
System.out.println("退出系统");
}
}
}
关于面向对象内容最后的一个习题。然后我这个代码我觉得输出的代码写的不好,有没大神能帮忙改正一下,而且这个存在BUG,如果选的车辆序号是同一辆最后会输出多个相同车名,如果要更改就需要增加一段代码进行判断是否有重复车序,所以我希望能有更简便的代码有没可以分享相互学习学习,万分感谢。
package demo.faceobj;
public abstract class Car {
public String name;
public int mon;
public int pnum;
public int onum;
public Car(){
this.name=null;
this.mon=0;
this.pnum=0;
this.onum=0;
}
public abstract void print();
}
***************
package demo.faceobj;
public class peCar extends Car {
public peCar(String newname,int newmon,int newpnum){
this.name=newname;
this.mon=newmon;
this.pnum=newpnum;
}
public void print(){
System.out.println(name+"\t"+mon+"元/天"+"\t"+"载人:"+pnum+"人");
}
}
*************
package demo.faceobj;
public class obCar extends Car {
public obCar(String newname,int newmon,int newonum){
this.name=newname;
this.mon=newmon;
this.onum=newonum;
}
public void print(){
System.out.println(name+"\t"+mon+"元/天"+"\t"+"载货:"+onum+"吨");
}
}
****************
package demo.faceobj;
public class pickCar extends Car {
public pickCar(String newname,int newmon,int newpnum,int newonum){
this.name=newname;
this.mon=newmon;
this.pnum=newpnum;
this.onum=newonum;
}
public void print(){
System.out.println(name+"\t"+mon+"元/天"+"\t"+"载人:"+pnum+" 载货:"+onum+"吨");
}
}
我不是大神哈,但是你能把其他几个子class粘出来一下吗?不然得自己编。
Java入门第二季 升级版
531107 学习 · 6311 问题
相似问题