載貨量最后為什么顯示為0,載貨車的名稱也不顯示
package 達(dá)達(dá)租車系統(tǒng);
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="馬自達(dá)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("歡迎使用達(dá)達(dá)租車系統(tǒng)\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("請輸入你要租車的數(shù)量:");
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("請輸入租車天數(shù):");
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);
}
}
2016-11-17
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;
}
我改成了這樣,試了一下可以輸出載貨值了
2016-11-17
for(int i=0;i<n&&car[i].capacity.zaihuo!=0;i++)這里循環(huán)錯了,n是1,但是car[]下標(biāo)是從0開始的找的第一個是奧迪車的zaihuo,奧迪車的zaihuo=0所以條件不成立循環(huán)體沒有執(zhí)行。就沒有輸出可載貨多少。