Неправильно работают методы

179
20 декабря 2021, 13:50

Ребята, выручайте, методы не работают правильно почему-то. Геттеры и Сеттеры классов Автор и Сообщение работают исправно, они прошли тест.. Описание ошибок методов в заголовках методов

import java.util.Arrays;
public class Callboard {
private Author [] authors;
private Message [] messages;
public Callboard() {
authors = new Author [0];
messages = new Message [0];
}
Метод тоже не работает вместо true выдает false
/* --Метод SaveMassage сохраняет отправленное сообщение и возвращает true обратно если пользователь был ранее зарегистрирован,
если нет, то метод не сохраняет сообщение и возвращает false; */
public boolean saveMassage(Message message) {
return message == null ? false : regUser(message.getAuthor());
}

При регистрации нового пользователя должно выводить true, а выводит false.
/* --Метод regUser сохраняет отправленного пользователя и возвращает true, если ни один другой пользователь с подобным именем
не был зарегистрирован до этого. В противном случае метод не сохраняет пользователя и возвращает false. */
public boolean regUser(Author author) {
Author findUser = author == null ? null : findUser(author.getName());
if (findUser == null) return false;
else {
authors = Arrays.copyOf(authors, authors.length+1);
authors[authors.length-1] = findUser;
return true;
}
}
При вызове пользователя ранее зарегистрированного выводит null, но не должно потому-что он уже зареган
/* -- Метод findUser ищет пользователя с заданным именем зарегистрированного ранее" на доске обьявлений" и возвращает этого пользователя.
Если пользователь с таким именем не существует, то метод возвращает null обратно. */
public Author findUser(String name) {
return Arrays.stream(authors)
.filter(author->author.getName().equals(name))
.findAny().orElse(null);
}
метод работает не правильно, должно сохранено, например, 3 сообщения, а выводит 0.
/* -- Метод findMassages для поиска сообщений. Этот метод возвращает массив хранимых сообщений, чья тема или сообщение содержит
переданную строку поиска (в качестве подстроки)(полу-String). Написание с большой или маленькой буквы должно быть проигнориванно.
Если ни одно сообщение не удовлетворяет ранее упомянотому критерию, то метод должен вернуть пустой массив(не null)(Просто пустой массив). */
public Message[] findMassages(final String str) {
return Arrays.stream(messages)
.filter(message->message.getTheme().toLowerCase().contains(str.toLowerCase()))
.toArray(Message[]::new);
}
Методы почему-то не подсчитывают количество пользователей и сообщений, но почему?
/* -Методы возвращают количество сообщений соответственно зарегистрированных пользователей. */
public int cMassages() {
return messages.length;
}
public int cAutors() {
return authors.length;
}
}
Answer 1
/* --Метод SaveMassage сохраняет отправленное сообщение и возвращает true 
     обратно если пользователь был ранее зарегистрирован,
     если нет, то метод не сохраняет сообщение и возвращает false; */
public boolean saveMassage(Message message) {
    return message == null ? false : regUser(message.getAuthor());
}

Покажите мне, где в этом методе сохраняется сообщение.

Пожалуйста, переименуйте все Ваши "массажи" в "сообщения".

READ ALSO
Экран в Android

Экран в Android

Экран при первом запуске называется onBoardingЕсть куча готовых решений на гитхабе

71
Word и jasperreports: большие пробелы в тексте

Word и jasperreports: большие пробелы в тексте

Имеется отчет, в котором требуется задать для TextField свойство "Выровнять текст по ширине",

171
Логично ли implements Interface для abstract класса?

Логично ли implements Interface для abstract класса?

Логично ли implements Interface для abstract класса?

115