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

载货量最后为什么显示为0,载货车的名称也不显示

package 达达租车系统;

import java.util.Scanner;

class rongLiang {

int zairen;

int zaihuo;

}

class Car {

String name;

int rent;

rongLiang capacity;

}

public class dadadache {

static void showcar(){

}

public static void main(String[] args) {

Car car[]=new Car[6];

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

car[i]=new Car();

car[i].capacity=new rongLiang();

}

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.zairen=4;

car[1].capacity.zairen=4;

car[2].capacity.zairen=4;

car[2].capacity.zaihuo=2;

car[3].capacity.zairen=20;

car[4].capacity.zaihuo=4;

car[5].capacity.zaihuo=20;

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

Scanner input=new Scanner(System.in);

int n=input.nextInt();

if(n==1){

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

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

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

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

if(car[i].capacity.zaihuo==0)

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

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

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

else

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

}

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

n=input.nextInt();

int s[]=new int[n];

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

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

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

}

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

int t=input.nextInt();

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

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

int sum=0;

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

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

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

}

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

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

sum=0;

System.out.println("***********************");

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

System.out.println("***********************");

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

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

}

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 回答

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

System.out.println("***********************");

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

if(car[s[i]-1].capacity.zaihuo!=0)

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

}

我改成了这样,试了一下可以输出载货值了

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

慕粉4349795 提问者

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

慕粉4349795 提问者

可以了,是正确的
2016-11-18 回复 有任何疑惑可以回复我~
#3

慕粉1403257382 回复 慕粉4349795 提问者

你的1是租车,0是不租车。我要输入个字符串什么的是不是要有个提示什么的。然后让他重新输入
2016-11-18 回复 有任何疑惑可以回复我~

for(int i=0;i<n&&car[i].capacity.zaihuo!=0;i++)这里循环错了,n是1,但是car[]下标是从0开始的找的第一个是奥迪车的zaihuo,奥迪车的zaihuo=0所以条件不成立循环体没有执行。就没有输出可载货多少。

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

慕粉4349795 提问者

但是还有一个问题,就是每次输出可载货和可载人的车时,总是把所有选择的车辆都显示了,和题意不相符合
2016-11-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

载货量最后为什么显示为0,载货车的名称也不显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信