Технологии Java


#1

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


#2

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


#3

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


#4

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


#5

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

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

Спасибо.


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

#7

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


#8

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


#9

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


#10

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


#11

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


#12

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


#13

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


#14

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


#15

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


#16

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


#17

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


#18

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


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

#20

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