//抽象類
public?abstract?class?Car?{
????int?num;
????String?name;
????int?rent;
????int?capacity;
????int?capacity2;
}
//載人的車類
??????public??void?SetAll(int?Vnum,String?Vname,int?Vrent,int?Vcapacity){
??????????num=Vnum;
??????????name=Vname;
??????????capacity=Vcapacity;
??????????rent=Vrent;
????}
??????public??void?PrintAll(){
??????????System.out.println(num+".\t\t"+name+"\t\t"+rent+"元/天\t\t載人:"+capacity+"人");
??????}
}
//載貨車類
public??class?Coach?extends?Car?{
????public??void?SetAll(int?Cnum,String?Cname,int?Crent,int?Ccapacity){
????????num=Cnum;
????????name=Cname;
????????capacity=Ccapacity;
????????rent=Crent;
????}
????public??void?PrintAll(){
????????System.out.println(num+".\t\t"+name+"\t\t"+rent+"元/天\t\t載貨:"+capacity+"噸");
????}
}
//能載人也能載貨類
public?class?Pika?extends?Car{
????public??void?SetAll(int?Pnum,String?Pname,int?Prent,int?Pcapacity1,int?Pcapacity2){
????????num=Pnum;
????????name=Pname;
????????capacity=Pcapacity1;
????????capacity2=Pcapacity2;
????????rent=Prent;
????}
????public??void?PrintAll(){
????????System.out.println(num+".\t\t"+name+"\t\t"+rent+"元/天\t\t載人:"+capacity+"人"+"?載貨:"+capacity2+"噸");
????}
}
//main函數
import?java.util.Scanner;
public?class?Dada?{
????public?static?void?main(String[]?args){
????????System.out.println("歡迎使用噠噠租車系統:");
????????System.out.println("您是否要租車:1.是?0.否");
????????Scanner?scan=new?Scanner(System.in);
????????int?k=scan.nextInt();//獲取控制臺上用戶輸入的數字
????????if(k==1){
????????????System.out.println("您可租車的類型及價目表:");
????????????System.out.println("序號\t\t汽車名稱\t\t租金\t\t容量");
????????????Car?Aodi=new?Van();//創建并顯示可租車的對象
????????????((Van)?Aodi).SetAll(1,"奧迪A4",500,4);
????????????((Van)?Aodi).PrintAll();
????????????Car?Mazida=new?Van();
????????????((Van)?Mazida).SetAll(2,"馬自達6",400,4);
????????????((Van)?Mazida).PrintAll();
????????????Car?Xue=new?Pika();
????????????((Pika)?Xue).SetAll(3,"皮卡雪6",450,4,2);
????????????((Pika)?Xue).PrintAll();
????????????Car?Jin=new?Van();
????????????((Van)?Jin).SetAll(4,"金龍",800,20);
????????????((Van)?Jin).PrintAll();
????????????Car?Song=new?Coach();
????????????((Coach)?Song).SetAll(5,"松花江",400,4);
????????????((Coach)?Song).PrintAll();
????????????Car?Yi=new?Coach();
????????????((Coach)?Yi).SetAll(6,"依維柯",1000,20);
????????????((Coach)?Yi).PrintAll();
????????????System.out.println("請輸入您要租汽車的數量:");
????????????int?i=scan.nextInt();
????????????int?Choose,sum=0,rent1=0,CarDate,manned=0,shipment=0,Allsum=0,Allmanned=0,Allshipment=0;//分別為用戶選擇的車型,單次金額,租車單價,租車天數,載人量,載貨量和總金額
????????????for(int?j=1;j<=i;j++){
????????????????System.out.println("請選擇您要租的第"+j+"輛車的序號");
????????????????Choose=scan.nextInt();
????????????????if?(Choose<1||Choose>6)??System.out.println("請輸入正確的序號:");
????????????????else?{
????????????????????switch?(Choose)?{
????????????????????????case?1:
????????????????????????????rent1?=?Aodi.rent;
????????????????????????????manned?=?Aodi.capacity;
????????????????????????????shipment?=?0;
????????????????????????????break;
????????????????????????case?2:
????????????????????????????rent1?=?Mazida.rent;
????????????????????????????manned?=?Mazida.capacity;
????????????????????????????shipment?=?0;
????????????????????????????break;
????????????????????????case?3:
????????????????????????????rent1?=?Xue.rent;
????????????????????????????manned?=?Xue.capacity;
????????????????????????????shipment?=?Xue.capacity2;
????????????????????????????break;
????????????????????????case?4:
????????????????????????????rent1?=?Jin.rent;
????????????????????????????manned?=?Jin.capacity;
????????????????????????????shipment?=?0;
????????????????????????????break;
????????????????????????case?5:
????????????????????????????rent1?=?Song.rent;
????????????????????????????manned?=?0;
????????????????????????????shipment?=?Song.capacity;
????????????????????????????break;
????????????????????????case?6:
????????????????????????????rent1?=?Yi.rent;
????????????????????????????manned?=?0;
????????????????????????????shipment?=?Yi.capacity;
????????????????????????????break;
????????????????????}
????????????????????Allmanned+=manned;
????????????????????Allshipment+=shipment;
????????????????????System.out.println("請輸入租的天數:");
????????????????????CarDate=scan.nextInt();
????????????????????sum=rent1*CarDate;
????????????????????Allsum+=sum;
????????????????????System.out.println("當前載人數量為"+Allmanned+"個,載貨數量為"+Allshipment+"噸");
????????????????????System.out.println("您需要付的金額為:"+Allsum);
????????????????}
????????????}
????????}else{
????????????System.out.println("Bye");
????????????System.exit(0);
????????}
????}
//主要覺得冗長的就是main函數部分,原本想把顯示可租車輛和選擇車輛寫成方法來使用,結果發現在另一個方法中創建的對象在main函數中無法使用,也沒想到解決的方法,希望有大佬幫忙!
2018-11-10
都不想回答了,沒有認真學好基礎。
抽象類 ,一般都要有一些抽象方法,你的抽象類根本就沒有方法,SetAll,PrintAll不就可以直接變為抽象方法嗎,后面還需要些一堆這樣的轉換嗎?
?
((Van)?Aodi)
公有public,私有private,繼承 protected 對屬性不知道該怎么用,直接默認...,實際項目中很少用默認的。
main中的創建那么多車 應該用for循環,數據可以使用數組,結構體之類的。
2019-02-20
import java.util.Scanner;
public class leiming{
static int a;
public static void fangfa(){
Scanner b=new Scanner(System.in);
int c=b.nextInt();
leiming.a=c;
}}
public static void main(String[] args){
leiming.fangfa();
System.out.println(leiming.a);}
希望對你有所幫助!