自己做的,有不足之处还望指点

来源:12-2 项目问题解析 1

秋天的落叶1

2016-11-13 15:38

import java.util.Scanner;

class 容量{

int 载人;

int 载货;

}

class 汽车{

String name;

int rent;      

容量 capacity;  

}

public class 哒哒搭车{

static void showcar(){

}

public static void main(String[] args) {

汽车  car[]=new 汽车[6];

for(int i=0;i<6;i++){

car[i]=new 汽车();

car[i].capacity=new 容量();

}

car[0].name="奥迪A4";

car[1].name="马自达6";

car[2].name="皮卡雪6";

car[3].name="金龙";

car[4].name="松花江";

car[5].name="依维柯";

car[0].rent=500;

car[1].rent=400;

car[2].rent=450;

car[3].rent=800;

car[4].rent=400;

car[5].rent=1000;

car[0].capacity.载人=4;

car[1].capacity.载人=4;

car[2].capacity.载人=4;

car[2].capacity.载货=2;

car[3].capacity.载人=20;

car[4].capacity.载货=4;

car[5].capacity.载货=20;

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

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

if(n==1){

System.out.println("你可租车的类型及其价目表:");

System.out.println("序号\t汽车名称\t  租金\t\t容量 ");

for(int i=0;i<6;i++){

System.out.print(i+1+"\t"+car[i].name+"\t"+car[i].rent+"元/天");

if(car[i].capacity.载货==0)

System.out.println("     载人:"+car[i].capacity.载人+"人");

else if(car[i].capacity.载人==0)

System.out.println("     载货:"+car[i].capacity.载货+"吨");

else

System.out.println("     载人:"+car[i].capacity.载人+"人  载货:"+car[i].capacity.载货+"吨");

}

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

n=sc.nextInt();

int s[]=new int [n];

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

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

s[i-1]=sc.nextInt();

}

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

int t=sc.nextInt();

System.out.println("你的账单:");

System.out.println("***可载人的车有:");

int sum=0;

for(int i=0;i<n&&car[i].capacity.载人!=0;i++){

System.out.print(car[s[i]-1].name+"   ");

sum+=car[s[i]-1].capacity.载人;

}

System.out.println("共载人:"+sum+"人");

System.out.println("***可载货的车有:");

sum=0;

for(int i=0;i<n;i++){

if(car[i].capacity.载货!=0){

System.out.print(car[s[i]-1].name+"   ");

sum+=car[s[i]-1].capacity.载货;

}

}

System.out.println("共载货:"+sum+"吨");

sum=0;

for(int i=0;i<n;i++)

sum+=car[s[i]-1].rent*t;

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

}

else

System.exit(0);

    }

}



写回答 关注

2回答

  • 中国小小唐
    2016-11-13 16:07:20
    已采纳

    1.在main方法里不要写那么多的东西。主方法最好就一个方法调用。2.可以思考用循环去减少重复(结构相似的代码)的书写工作。3.代码注释。4.类名、变量(属性)名定义别用汉字,看看标识符命名规则。

    秋天的落叶1

    非常感谢!

    2016-11-13 16:19:27

    共 1 条回复 >

  • 慕粉4349795
    2016-11-17 20:40:58

    载货的车辆算不进去,载货总吨数显示不出来

    System.out.println("***可载货的车有:");

    sum=0;

    for(int i=0;i<n&&car[i].capacity.zaihuo!=0;i++){

    System.out.println(car[s[i]-1].name+"  ");

    sum+=car[s[i]-1].capacity.zaihuo;

    }

    System.out.println("共载货:"+sum+"吨");

    这段代码执行不正确

Java入门第二季 升级版

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

531114 学习 · 6326 问题

查看课程

相似问题