一系列车辆

时间:2010-10-15 01:04:02

标签: java arrays

有没有人可以帮助我使用java程序我花了一个小时进行故障排除?  我将文件读入字符串数组没有问题,但我似乎不知道如何使用switch或if语句将每行存储在一个对象数组中。

  

编写一个带有读取文件的主应用程序(从命令行)并用新车(params),新车(params),新美国车(params)新外国车填充车型[]的数组(params),新卡车(params),新自行车(params)等,具体取决于识别每条记录的第一行。   数据样本:

     

车辆
  eRob
  罗伯的房子
  (987)654-3210
  Frob@rob.com

     

卡车
  aDougy
  道格的房子
  (123)456-7890
  hdoug@doug.com
  30个
  61234.56
  8/10/2003

     

自行车
  fTom
  汤姆的房子
  (246)810-1214
  Gtom@tom.com
  7

如果您发现我的代码有什么问题,请指出:

public static void main( String[] args) throws Exception

{ 

  int traceOfArray = 100;

  Vehicle[] vehicle = new Vehicle[traceOfArray];

  File file = null;

  file = new File(args[0]);

  FileReader Fr = new FileReader(file); //read file.

  BufferedReader Br = new BufferedReader(Fr);

  String read = Br.readLine();

  try
  {

      while (read != null) 
      {

      char x = read.charAt(0);

      if(x=='v')

           vehicle[0] = new Vehicle(Br.readLine(), Br.readLine(), Br.readLine(), Br.readLine());

      else if(x=='c')

           vehicle[1] = new Car(Br.readLine(), Br.readLine(), Br.readLine(), Br.readLine(), Br.readLine(), Br.readLine());

     ...

2 个答案:

答案 0 :(得分:2)

有一点是ArrayLists与数组不同。

arrayList(i++) = new vehicle (Br.readLine(), Br.readLine(), Br.readLine(),  Br.readLine());

应该是

arrayList.add(new vehicle (Br.readLine(), Br.readLine(), Br.readLine(),  Br.readLine()));

如果arrayList确实是vehicle[],那么你需要使用方括号,而不是括号:

arrayList[i++] = new vehicle (Br.readLine(), Br.readLine(), Br.readLine(),  Br.readLine());

此外,通常情况下,班级名称以大写字母开头(车辆,而非车辆

答案 1 :(得分:0)

您也可以将BR对象作为参数提供给类,并让它确定需要多少行:

e.g。

case 'v':
    new vehicle (Br)

...