问答详情
源自:12-1 综合练习

自己写的,基础知识掌握的很差,大神帮忙看看

package didizuche;

import java.util.*;


public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("欢迎使用滴滴租车系统"+"\n"+"您是否要租车:1是 0否");

Scanner judge=new Scanner(System.in);

int a=judge.nextInt();

if(a==1){

System.out.println("您可租车的类型及价目表"+"\n"+"序号"+"\t"+"汽车名称"+"\t"+"租金"+"\t"+"容量");

            Car test1=new Aodi();test1.car();

            Car test2=new Mazida();test2.car();

            Car test3=new Pikaxue();test3.car();

            Car test4=new Jinlong();test4.car();

            Car test5=new Songhuajia();test5.car();

            Car test6=new Yiweike();test6.car();

            System.out.println("请输入你要租汽车的数量");

            Scanner amount=new Scanner(System.in);

            int b=amount.nextInt();

            int c;int allpeople=0;int allthing=0;int allprice=0;String Person=null;String Cars=null;

            for(int i=1;i<=b;i++){          

            do{

            System.out.println("请输入第"+i+"辆车的序号:");

               Scanner xuhao=new Scanner(System.in);

               c=xuhao.nextInt();

            }while(c<1||c>6);

            if(c==1){

            allpeople+=4;allthing+=0;allprice+=500;Person+="奥迪A4";

            }else if(c==2){

            allpeople+=4;allprice+=400;Person+="马自达6";

            }else if(c==3){

            allpeople+=4;allthing+=2;allprice+=450;Person+="皮卡雪6";Cars+="皮卡雪6";

            }else if(c==4){

            allpeople+=20;;allprice+=800;Person+="金龙";

            }else if(c==5){

            allthing=4;allprice+=400;Cars+="松花江";

            }else{

            allthing+=20;allprice+=1000;Cars+="依维柯";

            }

            }

            System.out.println("请输入要租的天数:");

            Scanner days=new Scanner(System.in);

            int d=days.nextInt();

            System.out.println("你的账单"+"\n"+"***可载人的车有:"+"\n"+Person+"\t"+"共载人:"+allpeople+"人");

            System.out.println("***载货的车有:"+"\n"+Cars+"\t"+"共载货:"+allthing+"吨");

            System.out.println("***租车总价格:"+allprice*d+"元");

}


        

}


}


提问者:bartqq 2016-06-19 22:00

个回答

  • Mr夏之后
    2016-06-20 15:10:38
    已采纳

    String Person = null; String Cars=null;   Cars赋值null ,在拼接字符串的时候 就是 "null" ,应该赋值为"",这样在拼接车名字的时候不会出现null了;

    if (c == 1) {

    allpeople += 4;

    allthing += 0;

    allprice += 500;

    Person += "奥迪A4";

    }

    车的属性到成员变量了这里就不用手动加 常量了。直接加对象的成员变量就好了;



  • Mr夏之后
    2016-06-21 20:25:39

    import java.util.*;
    
    public class Test {
    
    	public static void main(String[] args) {
    		//所有车放在这里,可以根据序号取对应的车
    		List<Car> cars = new ArrayList<Car>();
    		Car aodi = new Aodi();
    		cars.add(aodi);
    		Car mazida = new Mazida();
    		cars.add(mazida);
    		Car pikaxue = new Pikaxue();
    		cars.add(pikaxue);
    		Car jinlong = new Jinlong();
    		cars.add(jinlong);
    		Car songhuajia = new Songhuajia();
    		cars.add(songhuajia);
    		Car yiweike = new Yiweike();
    		cars.add(yiweike);
    		
    		System.out.println("欢迎使用滴滴租车系统" + "\n" + "您是否要租车:1是 0否");
    		Scanner judge = new Scanner(System.in);
    		int a = judge.nextInt();
    		if (a == 1) {
    			System.out.println("您可租车的类型及价目表" + "\n" + "序号" + "\t" + "汽车名称" + "\t" + "租金" + "\t" + "容量");
    			aodi.car(1);
    			mazida.car(2);
    			pikaxue.car(3);
    			jinlong.car(4);
    			songhuajia.car(5);
    			yiweike.car(6);
                System.out.println("请输入你要租汽车的数量");
                Scanner amount=new Scanner(System.in);
                int b=amount.nextInt();
    			int c;
    			int allpeople = 0;
    			int allthing = 0;
    			int allprice = 0;
    			String Person = "";
    			String Cars = "";
                for(int i=1;i<=b;i++){          
    				do {
    					System.out.println("请输入第" + i + "辆车的序号:");
    					Scanner xuhao = new Scanner(System.in);
    					c = xuhao.nextInt();
    				}while(c<1||c>6);
    				
    				//根据序号在List中取相应的车
    				Car cc = cars.get(c-1);
    				//如果该车能装人
    				if(cc.people>0){
    					allpeople+=cc.people;
    					Person += cc.name+" ";
    				}
    				//如果该车能装货
    				if(cc.thing>0){
    					allthing+=cc.thing;
    					Cars += cc.name+" ";
    				}
    				allprice += cc.price;
                }
                System.out.println("请输入要租的天数:");
                Scanner days=new Scanner(System.in);
                int d=days.nextInt();
                System.out.println("你的账单"+"\n"+"***可载人的车有:"+"\n"+Person+"\t"+"共载人:"+allpeople+"人");
                System.out.println("***载货的车有:"+"\n"+Cars+"\t"+"共载货:"+allthing+"吨");
                System.out.println("***租车总价格:"+allprice*d+"元");
    		}
    	}
    }
    	
    	class Car{
    		String name = "";
    		int people = 0;
    		int thing = 0;
    		float price = 0;
    		
    		public void car(int index){
    			System.out.println(index + "\t" + name + "\t" + price + "\t" + people + "人" + thing + "货");
    		}
    	}
    
    	class Aodi extends Car{{
    		name = "奥迪A4";
    		people = 4;
    		thing = 0;
    		price = 500;
    	}}
    	class Mazida extends Car{{
    		name = "马自达6";
    		people = 4;
    		thing = 0;
    		price = 400;
    	}}
    	class Pikaxue extends Car{{
    		name = "皮卡雪6";
    		people = 4;
    		thing = 2;
    		price = 450;
    	}}
    	class Jinlong extends Car{{
    		name = "金龙";
    		people = 20;
    		thing = 0;
    		price = 800;
    	}}
    	class Songhuajia extends Car{{
    		name = "松花江";
    		people = 0;
    		thing = 4;
    		price = 400;
    	}}
    	class Yiweike extends Car{{
    		name = "依维柯";
    		people = 20;
    		thing = 0;
    		price = 1000;
    	}}


  • Mr夏之后
    2016-06-21 17:36:49

    //以奥迪为例

    public static class Aodi extends Car {

    String name = "奥迪A4"; //车的名字

    int people = 4; //容纳人数

    int thing = 0; //容纳货物数量

    float price = 500; //价格

    @Override

    public void car() {

    System.out.println("1" + "\t" + name + "\t" + price + "\t" + people + "人" + thing + "货");

    }

    }



    这样在选车的时候  就可以写成

    if (c == 1) {

    allpeople += ((Aodi)test1).getPeople();

    allthing += ((Aodi)test1).getThing();

    allprice += ((Aodi)test1).getPrice();

    Person += ((Aodi)test1).getName();

    }