Исправить ошибки, реализовать метод toString()

116
15 сентября 2019, 09:50

Создать интерфейс IntList и его реализацию IntArrayList по аналогии с List<Integer>.

Как реализовать метод toString()(он должен вернуть строку с содержимым из count элементов)?
Внутри нужно использовать массив не List

public class IntArrayList implements IntList {
private int List[] = new int[10];
private int count = 0;

@Override
public void add(int value) {
    for (int i = 0; i < List.length + 1; i++) {
        if (List != null) {
            System.out.print(Arrays.toString(List));
            System.out.println();
            int newSize = List.length * 3 / 2 + 1;
            int List1[] = new int[newSize];
            List1[i] = i;
            System.out.println(Arrays.toString(List1));
        }
    }
    // newSize = List.length * 3 / 2 + 1;
}
@Override
public void add(int index, int element) {
    int[] List2 = List;
    List2[index] = element;
    for (int i = index; i < List2.length; i++)
        List2[index + 1] = List2[i];
}
@Override
public void clear() {
    count = 0;
    for (int i = 0; i < List.length; i++) {
        List[i] = count;
    }
}
@Override
public boolean contains(int value) {
    if (List.equals(value)) {
        return true;
    } else {
        return false;
    }
}
@Override
public int get(int index) {
    int index1 = List[index];
    return index1;
}
@Override
public boolean isEmpty() {
    if (List != null) {
        return size() == 0;
    } else {
        return size() == List.length;
    }
}
@Override
public int remove(int index) {
    int[] array = new int[List.length - 1];
    int i = 0;
    int x = 0;
    while (i < List.length) {
        if (List[i] == 3) i++;
        array[x] = List[i];
        i++;
        x++;
    }
    return 0;
}
@Override
public void set(int index, int element) {
    List[index - 1] = element;
}
@Override
public int size() {
count=List.length;
    return count;
}
@Override
public String toString() {
String s = List.toString();
    return s;
}
}
Answer 1

Я так понимаю List - это у вас массив примитивов int. Для примитивов нет метода toString(). Вам нужно использовать Arrays.toString(List) для преобразования такого массива в строку.

Можно написать метод вручную:

public String toString() {
    StringBuilder result = new StringBuilder();
    for (int i : List) {
        result.append(i + " ");
    }
    return result.toString();
}
READ ALSO
grid-template-columns и grid-column

grid-template-columns и grid-column

Допустимо ли применять к одному блоку сразу display: grid, grid-template-columns и grid-column?

127
Строка SVG не отображается внутри clipPath

Строка SVG не отображается внутри clipPath

У меня есть следующий Codepen , где я пытаюсь анимировать строку круга вокруг изображения

119
Вызов функции после закрытия окна

Вызов функции после закрытия окна

Имеется окно загрузки файла, которое вызывается с помощью input'аПри нажатии, всплывает окно проводника

119