Технологии Java

Тема для вопросов и обсуждений по курсу “Технологии Java”

Здравствуйте, у меня вопрос по заданию о стеке и проверке баланса скобок. Я реализовал для каждой из трех ошибок (больше левых, больше правых, несоответствие) класс-потомок Exception, поэтому всего файлов 7, а разрешено для загрузки 5. Хотелось бы узнать, как можно уменьшить число файлов, если это возможно, или же расширить количество файлов для загрузки.

Одно из решений - сделать один класс-исключение, но хранить в нем код ошибки или текст или еще что-нибудь. Другое решение - сделать из трех текстовых файлов (или даже из всех 7 - один. Я все-равно смотрю их глазами. Чем меньше файлов, тем проще открывать. Ну еще один вариант заархивировать все в один файл архив (для меня плохо, но возможно). Выбирайте.

Спасибо, попытаюсь реализовать первый вариант.

Здравсвуйте! Возникли вопросы по заданию с коллекцией букв в слове:

  1. Сказано сделать конструктор без параметров и конструктор, который принимает строку String. Если конструктор не принимает строку, то что он будет обрабатывать и какие действия должен производить? Или у него тоже должны быть методы типа add?
  2. Пробел считается буквой?

Спасибо.

  1. Пробел буквой не считать. Хотя это не принципиально, но при отладке пробел будет трудно воспринимать визуально, поэтому не считать.
  2. Как известно существуют пустые строки и пустые множества. Надеюсь я ответила на Ваш вопрос

На Moodle выложена четвертая задача “Коллекция слов в тексте”

Здравствуйте, есть такой вопрос по формулировке четвертого задания - “Дополнительно предусмотреть возможность просматривать слова в коллекции, упорядочив их по длине и по количеству различных букв” - значит ли это, что нужно реализовать два метода переупорядочивания слов, или же нужно их просто вывести в нужном порядке?

Переупорядочивать не нужно. Нужна возможность пройти по коллекции в одном из 3-х порядков.

Спасибо. А что значит работать со словами? Должна ли быть предусмотрена возможность редактировать отдельные слова или удалять их и добавлять новые?

Добавлять, удалять, искать.

Здравсвуйте, не совсем понимаю, как нужно реализовать свой итератор для коллекции букв. То есть в моем классе коллекции должен быть метод iterator( ), который создает объект другого моего класса MyIterator, в котором уже реализуются три метода итератора?

Совершенно верно. Идея итераторов именно в этом - внешний класс, имеющий возможность перебирать элементы коллекции.

Я сейчас загрузил 3 и 4 задание в Moodle, но не совсем уверен в его правильности. Как его можно будет исправить и когда Вы его сможете посмотреть? Может быть успею исправить до занятия, которое будет в среду, спасибо.

Исправляйте. До среды можете удалить загруженный файл и загрузить новый. В среду я закрою возможность отправлять ответы.

Добрый вечер, хотел бы задать пару вопросов по четвертому заданию. Надо ли в начале удалять пунктуацию из текста, и какая форма представления результата работы метода toString()? И еще - если использовать стандартные компараторы, то из-за их строгой определенности после прохождения модифицированным итератором “копии” элементов затираются. Например из 6 слов с длиной 1 будет выведено только одно. Это приемлемое поведение? Или стоит модифицировать?

Слова в тексте нужно выделять до символов-разделителей. Удалять ли предварительно пунктуацию - дело Ваше. Скорее всего метод toString() для всей коллекции можно или не переопределять (пусть будет как у Object). Или сделать выдачу всех элементов, но для большого текста это бессмысленно. Этот класс уже полностью Ваша разработка и можно предлагать любые свои решения. Второй вопрос я не очень поняла.

Здравствуйте, возник вопрос по 5 заданию. Может ли слово состоять, например, из цифр? И еще, надо ли использовать аргументы командной строки или ввод слова с консоли, или можно просто в программе инициализировать?

  1. Словом в данной задаче понимаем последовательность символов, не содержащую символы-пробелы и символы-разделители. Поэтому цифры могут входить в слова.
  2. Как проверить работоспособность Вашего решения - можете выбирать сами. К задаче это не имеет отношения. Во всяком случае это не должно зависеть от того как Вы вводите слово.

Здравствуйте, так же вопрос по 5-му. Как нужно обрабатывать e-mail адресы, например: this@example.com это три разных слова или как-то иначе? И что делать с нижними подчеркиваниями в таком случае?