Java通用数组问题

时间:2013-11-12 02:46:54

标签: java arrays

我需要在存储中放置一些不同尺寸的机器

我在想,所以我有一系列大小为30的机器 Machine [] machine = new Machine [30];

机器在构造函数中有一个大小。例如,机器m1 =新机器(10);

每台机器都有不同的尺寸,有些机器可能需要尺寸5,有些可能需要尺寸10。 如果我将一个5号机器插入阵列,它应该采取数组中的前5个插槽。如果我把一台尺寸为10的机器放在第三个位置,它应该从3-13

开始
public class JavaApplication23 {

/**
 * @param args the command line arguments
 */
static Machine[] machine= new Machine[30]; 


public void findSlot(Machine unit)
{
    int slot = 0;
    for(int i = 0; i < machine.length; i++)
    {
        if(fit(i,unit)==true)
        {
            System.out.println("slot "+i+" is empty");
        }
        else
        {
            System.out.println("The line is full");
        }
    }

}

public boolean fit(int num, Machine machine)
{
    boolean check = true;
    if(machine[num]==null)
    {
        for(int i = 0; i < machine.getWidth(); i++)
        {
             if(machine[num+i]!=null)
             {
                 check = false;
             }
        }       
    }
    if(check == false)
    {
        System.out.println("machine does not fit");
    }
    return check;

}
    }

第一个功能是寻找机器可以适合的空槽。例如,如果机器的尺寸为10,则采用插槽1-5,采用8-10。我不能用6-7因为太小了。所以函数应该告诉我放在第11位,因为11-20是空的

第二个功能是帮助检查机器是否适合


这是我的问题。因为我的数组是一个机器数组。无论我放入什么尺寸的机器,它只需要一个插槽。我需要一个具有机器总大小的阵列,其中一个大小等于一个插槽。所以我可以把机器一个接一个地存放到合适的位置。

1 个答案:

答案 0 :(得分:0)

您可以使用int和一组计算机添加Class GroupOfMachines,并通过此类添加每台计算机