为了账号安全,请及时绑定邮箱和手机立即绑定

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

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+"元");

}


        

}


}


正在回答

3 回答

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

if (c == 1) {

allpeople += 4;

allthing += 0;

allprice += 500;

Person += "奥迪A4";

}

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



1 回复 有任何疑惑可以回复我~
#1

bartqq 提问者

非常感谢!
2016-06-20 回复 有任何疑惑可以回复我~
#2

bartqq 提问者

怎么加对象的成员变量啊。。。
2016-06-20 回复 有任何疑惑可以回复我~
#3

ybdt1201

感谢,非常感谢
2016-07-02 回复 有任何疑惑可以回复我~
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;
	}}


0 回复 有任何疑惑可以回复我~
#1

bartqq 提问者

哇,非常感谢啊
2016-06-21 回复 有任何疑惑可以回复我~
#2

qq_随想之风_03202251

List<Car> cars = new ArrayList<Car>();不太理解这个
2016-06-26 回复 有任何疑惑可以回复我~
#3

bartqq 提问者 回复 qq_随想之风_03202251

这个慕课没教,不过在网上能搜到ArrayList的使用方法
2016-06-28 回复 有任何疑惑可以回复我~
#4

Mr夏之后 回复 qq_随想之风_03202251

List 是一个集合框架 <car>指定一个范型 ,arraylist是List的一种常用的实现方式. 这里使用List 能够很方便的存储所有的Car,也能够方便的找到需要的Car . 继续往后面学习,你就能看到 Map List 这些常用集合框架
2016-06-30 回复 有任何疑惑可以回复我~
查看1条回复

//以奥迪为例

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();

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季
  • 参与学习       531268    人
  • 解答问题       6327    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号