交作業啦啦啦啦
抽象父類
public?abstract?class?Car?{
public?int?id;
public?String?name;
public?int?price;
public?int?sit;
public?int?load;
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?getSit()?{
return?sit;
}
public?void?setSit(int?sit)?{
this.sit?=?sit;
}
public?int?getLoad()?{
return?load;
}
public?void?setLoad(int?load)?{
this.load?=?load;
}
public?Car(){};
public?Car(int?id,String?name,int?price,int?sit,int?load){
this.id=id;
this.name=name;
this.price=price;
this.sit=sit;
this.load=load;
}
???public?abstract?void??show();
}子類
public?class?CPickup?extends?Car?{
public?CPickup(int?id,String?name,int?price,int?sit,int?load){
this.id=id;
this.name=name;
this.price=price;
this.sit=sit;
this.load=load;
}
@Override
public?void?show()?{
//?TODO?Auto-generated?method?stub
{System.out.println(id+".\t"+name+"\t"+price+"元/天??"+"載人:"+sit+"載貨:"+load);
}}
}子類:
public?class?CSeden?extends?Car?{
public?CSeden(int?id,String?name,int?price,int?sit,int?load){
this.id=id;
this.name=name;
this.price=price;
this.sit=sit;
this.load=load;
}
@Override
public?void?show()?{
//?TODO?Auto-generated?method?stub
{System.out.println(id+".\t"+name+"\t"+price+"元/天??"+"載人:"+sit+"載貨:"+load);
};??????
}
}子類:
public?class?CTruck?extends?Car?{
public?CTruck(int?id,String?name,int?price,int?sit,int?load){
this.id=id;
this.name=name;
this.price=price;
this.sit=sit;
this.load=load;
}
@Override
public?void?show()?{
//?TODO?Auto-generated?method?stub
{System.out.println(id+".\t"+name+"\t"+price+"元/天???"+"載人:"+sit+"載貨:"+load);
}
}}Test類
import?java.util.Scanner;
public?class?Test?{
/**
*?@param?args
*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Car?a4=new?CSeden(1,"奧迪A4?",500,4,0);
Car?m6=new?CSeden(2,"馬自達6?",400,4,0);
Car?p6=new?CPickup(3,"皮卡雪6",450,4,2);
Car?gd=new?CSeden(4,"金龍??????",800,20,0);
Car?slr=new?CTruck(5,"松花江?",400,0,4);
Car?evt=new?CTruck(6,"伊維特",1000,0,20);
Car?car[]={a4,m6,p6,gd,slr,evt};
System.out.println("歡迎使用DD租車系統");
System.out.println("你是否要租車:\t1.是\t0.否");
Scanner?in1=new?Scanner(System.in);
if(in1.nextInt()==1){
System.out.println("您可租車的類型及其價目表");
System.out.println("序號??\t汽車名稱\t租金\t??????容量");
a4.show();
m6.show();
p6.show();
gd.show();
slr.show();
evt.show();
//整合用戶租借數據
//要租什么車
System.out.println("請輸入您要租車的數量:");
Scanner?in2=new?Scanner(System.in);
Scanner?in3=new?Scanner(System.in);
int?num=in2.nextInt();
//生成要借車的對象數組
Car[]?zcar=new?Car[num];
//租多少天
System.out.println("請輸入您要租借的天數:");
Scanner?in4=new?Scanner(System.in);
int?days=in4.nextInt();
//整合
int?j=0;
for(int?i=0;i<num;i++)
{
System.out.println("請輸入第"+(i+1)+"輛車的序號:");
j=in3.nextInt();
zcar[i]=car[j-1];
}
System.out.println("統計完成正在生成您的賬單\n您的賬單如下:");
//判斷載人載貨車型
System.out.println("可以載人的車有:");
for(int?n=0;n<num;n++)
{if(zcar[n].sit!=0)
{
System.out.print(zcar[n].name+"??");
}
}
System.out.println("\n可以運貨的車有:");
for(int?m=0;m<num;m++)
{if(zcar[m].load!=0)
{
System.out.println(zcar[m].name+"??");
}
}
System.out.println("\n");
//統計數據
int?sumSit?=?0;
int?sumPrice=0;
int?sumLoad=0;
for(int?k=0;k<num;k++)
{
sumSit+=zcar[k].getSit();
sumPrice+=zcar[k].getPrice();
sumLoad+=zcar[k].getLoad();
}
System.out.println("總載客量:"+sumSit);
System.out.println("總運貨量:"+sumLoad);
System.out.println("總價格:"+sumPrice*days);
????}
else
???????{
System.out.println("程序準備退出");
System.exit(0);
}
}
}運行結果:

奇怪的是我生成jar后運行格式會錯亂,有大佬解答一下嗎

2018-08-09
因為你輸出時沒有控制格式,以下是Java的一些格式輸出:
?// "%"表示進行格式化輸出,"%"之后的內容為格式的定義。
? ? ? ?System.out.printf("%f", f);// "f"表示格式化輸出浮點數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%9.2f", f);// "9.2"中的9表示輸出的長度,2表示小數點后的位數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%+9.2f", f);// "+"表示輸出的數帶正負號。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%-9.4f", f);// "-"表示輸出的數左對齊(默認為右對齊)。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%+-9.3f", f);// "+-"表示輸出的數帶正負號且左對齊。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%d", d);// "d"表示輸出十進制整數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%o", d);// "o"表示輸出八進制整數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%x", d);// "x"表示輸出十六進制整數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%#x", d);// "#x"表示輸出帶有十六進制標志的整數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%#o", d);// "#o"表示輸出帶有八進制標志的整數。
? ? ? ?System.out.println();
? ? ? ?System.out.printf("%s", str);// "s"表示輸出字符串。
? ? ? ?System.out.println();
? ? ? ?// 可以輸出多個變量,注意順序。
? ? ? ?System.out.printf("輸出一個浮點數:%f,一個整數:%d,一個字符串:%s", f, d, str);
2019-01-08
我想問一下,你那統計數據那塊那個加號是什么意思,沒見過這種用法??!
2018-11-27
...你所有子類除了類名都一樣,定義子類意義何在?
2018-11-11
假如我不使用get與set的話,直接創建car的方法,這樣可行嗎?
2018-08-09
大佬,car類里面為什么要使用set和get啊,我只聲明了抽象類和屬性。set和get在里面是干什么的啊