将元素添加到int数组的方法

时间:2017-06-18 12:46:00

标签: java arrays

我需要帮助创建一个方法,将输入int添加到数组中,并在数组已满时返回消息。

我的课程numbers包含3个字段capacitysizepublic class Lista { private int[] numbers; private int capacity; private int size; public Lista (int capacity) { this.size = 0; this.capacity = capacity; this.numbers = new int[capacity]; } public void addElement(int element) { } public static void main(String[] args) { Lista lista = new Lista(10); lista.addElement(1); lista.addElement(2); lista.addElement(3); System.out.println(lista.numbers[1]); 。比我有一个counstructor将int作为参数并为Lista类的对象设置数组的容量。到目前为止我有这个代码:

pip install forex-python

我尝试过使用循环和ArrayLIst,但我没有尝试过。什么是最好的方法呢?

3 个答案:

答案 0 :(得分:0)

您可以像这样实施addElement方法:

public void addElement(int element) {
       if(size == capacity) {
           System.out.println("array is full");
           return;
       }
       numbers[size++] = element;
}

答案 1 :(得分:0)

当列表已满并且您尝试向其插入下一个元素时,您需要抛出异常:

class List {
    private int[] numbers;
    private int nextIndex;

    public List(int capacity) {
        this.numbers = new int[capacity];
    }

    public void addElement(int element) {
        if (nextIndex < numbers.length) {
            numbers[nextIndex] = element;
            nextIndex++;
        } else {
            throw new RuntimeException("list is full");
        }
    }

    public int capacity() {
        return numbers.length;
    }

    public int size() {
        return nextIndex;
    }
}

答案 2 :(得分:0)

  

我尝试过使用循环和ArrayLIst,但我没有尝试过。   什么是最好的方法呢?

您使用数组来存储您的值,因此您不需要使用ArrayList(它是另一种选择) 循环用于迭代。你也不需要它。

  

我需要帮助创建一个将输入int添加到数组的方法,   如果数组已满,则返回一条消息。

返回文本消息并不是应该设计API的方式。它应该返回一个布尔值来指示调用的结果 例如,查看boolean add(E e)界面的Collection方法。

所以,你应该改变addElement()的声明,以便返回一个布尔值来指示元素是否被添加(当达到最大容量时是最后一个)。

public boolean addElement(int element) {
       if(size == capacity) {
           return false;
       }
       numbers[size++] = element;
       return true;
}

如果要输出文本消息,可以测试布尔值的值:

if (!myLista.addElement(5)){
   System.out.println("max capacity added. Cannot add the element");
}