Java:将单个数组除以对象元素值分成 2 个数组

菲利普·沃伦

编辑。谢谢你。

我有一系列“普通”车辆和“大型”车辆。我有一项任务要求我将它们分开,以便为一个更大的应用程序做出贡献。一个用于大型车辆的数组,一个用于包含每个元素的所有信息的普通车辆。ArrayLists 是不允许的,因为我的老师正在教我们基础知识。

数组的样本

27723 4/09/61 large 7337 28507 22-02-1983 large 7055 28558 1/05/70 normal 3518

//On button press
//recieve single item from array from main and test it
//array in main will be looped for all elements. 
public String loadVehicle(Vehicle v) {
String res = Constants.OK;

boolean normBool = false;
boolean largeBool = false;

//if both arrays are full , stop the method call in the main form
if (normBool && largeBool){return Constants.ERROR;}

//if vehicle size is normal, fill the normal veh array
if(v.getSize().equals(Constants.NORMAL_SIZE))
{
    for(int i = 0; i<normalVehicles.length; i++)
    {
        //if norm veh array element is null, add the appropriate value to it
        if(normalVehicles[i] == null){normalVehicles[i] = v;}

        else{normBool = true;}
    }
}
//if veh size is large put it in the large veh array
else if(v.getSize().equals(Constants.LARGE_SIZE))
{   
    for(int iL = 0; iL<largeVehicles.length; iL++)
    {
        if(largeVehicles[iL] == null){largeVehicles[iL] = v;}
        else{largeBool = true;}
    }
}

return res;
}//end method

似乎您也不能使用内置LinkedList类,然后执行以下操作:

在您的 Vehicle 类中添加以下代码:

class Vehicle(){

     //YOUR OTHER PIECES OF CODES ...

     private static Vehicle firstLargeVehicle;
     private Vehicle nextLargeVehicle;
     private int index;

     public void setIndex(int index){
          this.index = index;
          if(index == 0) Vehicle.firstLargeVehicle = this;
     }

     public int getIndex(){
          return index;
     }

     public void setNextLargeVehicle(Vehicle nextLargeVehicle){
          this.nextLargeVehicle = nextLargeVehicle;
     }

     public Vehicle getNextLargeVehicle(){
          return nextLargeVehicle;
     }

     public addLargeVehicle(Vehicle newVehicle){
          this.nextLargeVehicle = newVehicle;
          newVehicle.setIndex(index + 1);
     }

     public getListSize(){
          Vehicle lastOne = this;
          while (lastOne.getNextLargeVehicle() != null){
              lastOne = lastOne.getNextLargeVehicle();
          }

          return lastOne.getIndex() + 1;
     }

     public static Vehicle[] largeVehiclesToArray(){
          Vehicle[] result = new Vehicle[firstLargeVehicle.getListSize()]();
          Vehicle pointer = firstLargeVehicle;
          for (int counter = 0; pointer != null; counter ++){
              result[counter] = pointer;
              pointer = pointer.getNextLargeVehicle();
          }

          return result;
     }

 }

在您的主循环中,执行类似以下代码的操作:

  Vehicle vehicle = null; 
  for(Vehicle newVehicle : allVehicles) {
       if (newVehicle.isLarge()){
            if (vehicle == null) {
                 vehicle = newVehicle;
                 vehicle.setIndex(0);
            }else{
                 vehicle.addLargeVehicle(newVehicle));
            }
       } 
  } 

  Vehicle[] largeVehicles = Vehicle.largeVehiclesToArray();

同样的故事也适用于普通车辆。任何问题 ?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将2D数组拆分为单个数组

来自分类Dev

将2D数组拆分为单个数组

来自分类Dev

将对象随机化并分成2个数组

来自分类Dev

将字符串分成2个数组

来自分类Dev

将字符串分成2个数组

来自分类Dev

比较2个数组

来自分类Dev

2 个数组与 lodash 的联合

来自分类Dev

比较和提取 2 个数组的元素

来自分类Dev

2 个数组中的反应对象

来自分类Dev

php,从另外 2 个数组创建 1 个数组

来自分类Dev

2个数组的交集并对每个数组进行操作

来自分类Dev

是值在2个数组键之间

来自分类Dev

在 2 个数组列表之间传递值

来自分类Dev

合并 2 个数组,更新值

来自分类Dev

从单个数组制作2D数组

来自分类Dev

加入2个数组列表JAVA

来自分类Dev

如何遍历 2 个数组以创建新的键/值对象

来自分类Dev

如何创建具有 2 个数组的对象数组?

来自分类Dev

检查两个数组键并带入数组2的值

来自分类Dev

将包含数组的对象简化为单个数组的值

来自分类Dev

根据奇数和偶数位置将数字从2个数组放置到单个数组

来自分类Dev

根据2个定界符将字符串分成2个数组

来自分类Dev

PHP-从2个数组到1个数组中获取非空值

来自分类Dev

向2个数组中的值和对象分配值-Java

来自分类Dev

使用爆炸连接2个数组

来自分类Dev

在PHP中结合2个数组

来自分类Dev

Numpy索引2个数组

来自分类Dev

匹配2个数组angularjs的内容

来自分类Dev

使2个数组大小相同