打印出文本字段和数组中的值将被重复

时间:2012-01-28 11:11:29

标签: java arrays

我的数组中有重复的值,例如Fiat, 2.3, 2006, Ford, 1.6, 2011

我正在尝试打印出像:

这样的值
Name: Fiat
Size: 2.3
Year: 2006

Name: Ford
Size: 1.6
Year: 2011

2 个答案:

答案 0 :(得分:2)

创建一个包含三个属性Carnamesize的班级modelYear。使用String.split()方法拆分Fiat, 2.3, 2006, Ford, 1.6, 2011并创建Car个对象。

答案 1 :(得分:0)

所以你想以给定的格式打印出一个Object数组吗?

for(int i = 0; i < array.length-2; i += 3) {
  System.out.println("Name: " + array[i]);
  System.out.println("Size: " + array[i+1]);
  System.out.println("Year: " + array[i+2]);
}

请注意,使用一个物体来保存每辆车上的数据真的会更好,而不是将它们全部保存在同质阵列中。类似的东西:

class Car {
  String name;
  double size;
  int    year;
  public Car(String _name, double _size, int _year) {
    name = _name; size = _size; year = _year;
  }
}

然后将您的Object数组转换为Cars列表,

List<Car> cars = new ArrayList<Car>();
for(int i = 0; i < array.length-2; i += 3) {
  cars.add(new Car((String)array[i], (Double)array[i+1], (Integer)array[i+2]);
}

这假设您正在使用包含字符串,双精度和整数的Object数组。如果是String数组,

List<Car> cars = new ArrayList<Car>();
for(int i = 0; i < array.length-2; i += 3) {
  cars.add(new Car((String)array[i], Double.valueOf((String)array[i+1]), Integer.valueOf((String)array[i+2]));
}