Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2013, 22:06   #11
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Чувак, смотри, как исходный код должен оформляться.
Код:
package ru.mytask;

/**
 * 
 * Класс, реализующий модель коллекции целых чисел.
 *
 */
public class IntList
{
	
	private final int capacity;
	private final int [] elements;
	private int size;
	
	
	/**
	 * 
	 * Конструктор
	 * 
	 * @param capacity ёмкость массива
	 */
	public IntList(final int capacity)
	{
		this.capacity = capacity;
		this.elements = new int[capacity];
		this.size = 0;
	}
	
	/**
	 * 
	 * Добавление элемента в конец списка
	 * 
	 * @param newElement добавляемый элемент 
	 */
	public void add(final int newElement)
	{
		this.add(this.size(), newElement);
	}
	
	/**
	 * 
	 * Добавление элемента перед определённой позицией
	 * 
	 * @param beforeMe позиция, перед которой добавить элемент
	 * @param newElement добавляемый элемент
	 */
	public void add(final int beforeMe, final int newElement)
	{
		if (beforeMe < 0) throw new ArrayIndexOutOfBoundsException("Отрицательная позиция вставки");
		if (beforeMe > this.size()) throw new ArrayIndexOutOfBoundsException("Позиция вставки за пределами массива");
		if (this.size() >= this.capacity()) throw new UnsupportedOperationException("Превышена ёмкость массива");
		
		for (int i = this.size - 1; i >= beforeMe; --i)
		{
			this.elements[i + 1] = this.elements[i];
		}
		
		this.elements[beforeMe] = newElement;
		
		++this.size;
	}
	
	/**
	 * 
	 * Удаление элемента из определенной позиции
	 * 
	 * @param atMe номер позиции
	 */
	public void remove(final int atMe)
	{
		this.remove(atMe, atMe + 1);
	}
	
	/**
	 * 
	 * Удаление всех элементов в интервале от первой величины до второй,
	 * исключая вторую
	 * 
	 * @param fromMe стартовая позиция для удаленя
	 * @param toIndexExcludingMe конечная позиция для удаления
	 */
	public void remove(final int fromMe, final int toIndexExcludingMe)
	{
		final int startPosition = Math.max(0, fromMe);
		final int finishPosition = Math.min(this.size(), toIndexExcludingMe);
		final int elementsToRemove = Math.max(0, finishPosition - startPosition);
		
		for (int i = finishPosition; i < this.size; ++i)
		{
			this.elements[startPosition + i - finishPosition] = this.elements[i];
		}
		
		this.size -= elementsToRemove;
	}
	
	/**
	 * Размер списка
	 * @return Размер списка
	 */
	public int size()
	{
		return this.size;
	}
	
	/**
	 * Ёмкость списка
	 * @return Ёмкость списка
	 */
	public int capacity()
	{
		return this.capacity;
	}
	
	
	@Override
	public String toString()
	{
		final StringBuilder resultStrValue = new StringBuilder();
		
		resultStrValue.append("[");
		
		for (int i = 0; i < this.size; ++i)
		{
			if (i > 0) resultStrValue.append(", ");
			resultStrValue.append(this.elements[i]);
		}
		
		resultStrValue.append("]");
		
		return resultStrValue.toString();
	}
}

Последний раз редактировалось Carbon; 24.02.2013 в 22:12.
Carbon вне форума Ответить с цитированием
Старый 24.02.2013, 23:19   #12
minime
Пользователь
 
Регистрация: 20.02.2013
Сообщений: 11
По умолчанию

Шикарно...
Но как еще ввод прикрутить? И мне непонятен немного вот этот метод:
Код:
@Override
	public String toString()
	{
		final StringBuilder resultStrValue = new StringBuilder();
		
		resultStrValue.append("[");
		
		for (int i = 0; i < this.size; ++i)
		{
			if (i > 0) resultStrValue.append(", ");
			resultStrValue.append(this.elements[i]);
		}
		
		resultStrValue.append("]");
		
		return resultStrValue.toString();
minime вне форума Ответить с цитированием
Старый 25.02.2013, 00:19   #13
minime
Пользователь
 
Регистрация: 20.02.2013
Сообщений: 11
По умолчанию

И да, я всетаки подрихтовал свой код. Доделал... Спасибо за помощь
Вследущий раз буду давать код с коментами
minime вне форума Ответить с цитированием
Старый 25.02.2013, 00:54   #14
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
Сообщение от minime Посмотреть сообщение
И мне непонятен немного вот этот метод
Чтобы понять, что он делает, достаточно его выполнить.

А комментарий к нему не нужен, потому что он выполняет то же, что и аналогичный метод в родительском классе:
http://docs.oracle.com/javase/1.5.0/...tml#toString()

Последний раз редактировалось Carbon; 25.02.2013 в 03:54.
Carbon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
добавление элементов в массив nhr Помощь студентам 1 11.12.2010 16:45
добавление в массив prostac Помощь студентам 0 23.09.2010 20:37
добавление столбца в массив DeFace Общие вопросы C/C++ 3 09.01.2009 19:29
Добавление в массив Шура Помощь студентам 6 30.11.2008 10:48