第一次写代码,但是在运行“newcar[j]=car[k-1];”这里时总是报错,找了好久也没有找到原因,希望各位大神帮忙指点(代码写的不好,希望能包含)

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

艾草集

2019-05-09 22:46

//汽车父类


public abstract class Car {

public int NO;//车序号

public String name;//汽车名称

public int zujin;//租金

public int zaike;//载客量

public int zaihuo;//载货量

}

//载客类

public class zaikeCar extends Car {

private int zahuo;//定义载货量为0


public zaikeCar(int NO1,String name1,int zujin1,int zaike1){

this.NO=NO1;

this.name=name1;

this.zujin=zujin1;

this.zaike=zaike1;

this.zahuo=0;

}

}

//载货类


public class zaihuoCar extends Car {

private int zake;//定义载客量为0


public zaihuoCar(int NO1,String name1,int zujin1,int zaihuo1 ){

this.NO=NO1;

this.name=name1;

this.zujin=zujin1;

this.zaihuo=zaihuo1;

this.zake=0;

}

}

//载客载货类


public class Pika extends Car {


public Pika(int NO1,String name1,int zujin1,int zaike1,int zaihuo1 ){

this.NO=NO1;

this.name=name1;

this.zujin=zujin1;

this.zaike=zaike1;

this.zaihuo=zaihuo1;

}

}

//实现类

import java.util.Scanner;

public class Use {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner info=new Scanner(System.in);

Car[] car={new zaikeCar(1,"奥迪A4",500,4),new zaikeCar(2,"马自达",400,4),new Pika(3,"皮卡雪",450,4,2),new zaikeCar(4,"金龙",800,20),new zaihuoCar(5,"松花江",400,4),new zaihuoCar(6,"依维柯",1000,20)};

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

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

        int Iszuche=info.nextInt();

        if(Iszuche==0){

        System.out.println("谢谢您的使用,欢迎下次再次使用");

        }else{

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

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

        for(int i=0;i<car.length;i++){

        System.out.println(car[i].NO+"\t"+car[i].name+"\t"+car[i].zujin+"元/每天\t"+"载人:"+car[1].zaike+"人"+"载货:"+car[i].zaihuo+"吨");

        }

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

        int num=info.nextInt();//存储租车的数量

        //多余了int[] carnum=new int[num-1];//存储租的车的序号

        Car[] newcar=new Car[num-1];//存储乘客租的车的信息

        int dateNo; //存储租车天数

        int zaikeNum=0;//载人总数

        int zaihuoNum=0;//载货总数

        int prize=0;//总金额

        for(int i=1,j=0;i<=num;i++,j++){

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

        int k=info.nextInt();

        ///多余了 carnum[j]=info.nextInt();

        newcar[j]=car[k-1];

        }

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

        dateNo=info.nextInt();

         

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

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

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

        if(newcar[i].zaike!=0){

        System.out.println(newcar[i].name);

        zaikeNum+=newcar[i].zaike;

       

        }

        }

        System.out.println("载人总数为:"+zaikeNum);

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

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

          if(newcar[i].zaihuo!=0){

          System.out.println(newcar[i].name);

          zaihuoNum+=newcar[i].zaihuo;

          }

          }

        System.out.println("载货总数为:"+zaihuoNum);

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

        prize+=newcar[i].zujin;

        }

        System.out.println("租金总金额为:"+prize);

        }

        }


}



写回答 关注

1回答

  • 慕标6053287
    2019-05-11 22:40:45

    ?杂乱


Java入门第二季 升级版

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

530562 学习 · 6091 问题

查看课程

相似问题