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

6-1帮我看看应该咋改

  for( k=0;k<total;k++){

       

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

chooseNums[k]=a.nextInt();

      

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

       int days =a.nextInt();

        int totalMoney=0;

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

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

        int money1=0;

        int money2=0;

        int money3=0;

        int money=0;

        int j;

        for(j=0;j<total;j++){

if(messenge[chooseNums[k]] instanceof Car){

          

        System.out.println(messenge[chooseNums[k]].name);

        money1+=messenge[chooseNums[k]].rent;

}else if(messenge[chooseNums[k]] instanceof PickUp){

 System.out.println(messenge[chooseNums[k]].name);

 money2+=messenge[chooseNums[k]].rent;

}

提示数组过界

正在回答

2 回答

package project6;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

       System.out.println("欢迎使用答答租车系统");

       System.out.println("您是否要租车:是1  否0");

       Scanner a = new Scanner(System.in);

       AutoMobile[] messenge={new Car(1,"奥迪A4",500,4),new Car(2,"马自达6",400,4),

     new PickUp(3,"皮卡雪",450,4,2),new Car(4,"金龙",800,20),

     new Trunk(5,"松花江",400,4),new Trunk(6,"依维柯",1000,20)};

       int i =a.nextInt();

       if(i==1){

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

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

       

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

     

if(messenge[j] instanceof Car){

    

      System.out.println(messenge[j].num+"\t"+messenge[j].name+"\t"+messenge[j].rent+"元/天"+"\t"+"载人:"+((project6.Car) messenge[j]).getPeopleNums()+"人");

      

       }

         if(messenge[j] instanceof Trunk){

      System.out.println(messenge[j].num+"\t"+messenge[j].name+"\t"+messenge[j].rent+"元/天"+"载货:"+((Trunk) messenge[j]).getThingNums()+"吨");

       }

        if(messenge[j] instanceof PickUp){

        System.out.println(messenge[j].num+"\t"+messenge[j].name+"\t"+messenge[j].rent+"元/天"+"载人:"+((PickUp) messenge[j]).getPeopleNums()+"载货:"+((PickUp) messenge[j]).getThingNums()+"吨");

       }

}

       }

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

        int total =a.nextInt();

        int[] chooseNums = new int [total];

       

        int k;

      for( k=0;k<total;k++){

       

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

chooseNums[k]=a.nextInt();

      }

      

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

       int days =a.nextInt();

        int totalMoney=0;

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

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

        int money1=0;

        int money2=0;

        int money3=0;

        int money=0;

        int j;

        for(j=0;j<total;j++){

if(messenge[chooseNums[k]] instanceof Car){

          

        System.out.println(messenge[chooseNums[k]].name);

        money1+=messenge[chooseNums[k]].rent;

}else if(messenge[chooseNums[k]] instanceof PickUp){

 System.out.println(messenge[chooseNums[k]].name);

 money2+=messenge[chooseNums[k]].rent;

}

      }

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

      // for(j=0;j<total;j++){

        if(messenge[chooseNums[k]] instanceof Trunk){

       

        System.out.println(messenge[chooseNums[k]].name);

       money3+=messenge[chooseNums[k]].rent;

        }

        else if(messenge[chooseNums[k]] instanceof PickUp){

        System.out.println(messenge[chooseNums[k]].name);

        }

       //}


        money=money1+money2+money3;

        totalMoney=money*days;

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

}

}


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

代码没贴全啊,你贴出来的这个代码片段没法判断各个数组的长度,另外,既然你知道了是数组越界,控制台应该还会提示行数吧, 根据行数就能很容易定位错误在哪

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

慕粉1471134825 提问者

不知道咋改 我想把那个输入的序号来判断是汽车还是皮卡 现在总是把6辆车全部判断 待会我发你全部的
2017-04-15 回复 有任何疑惑可以回复我~
#2

慕粉1471134825 提问者

我把代码发下面了 你看看
2017-04-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

6-1帮我看看应该咋改

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