先生们晚上好,问题是如何重新制作我的代码,使其根本不包含 ArrayList,而是使用常规数组。
public class Callboard {
private ArrayList<Author> authors;
private ArrayList<Message> messages;
public Callboard() {
authors = new ArrayList<>();
messages = new ArrayList<>();
}
/* --Метод SaveMassage сохраняет отправленное сообщение и возвращает true обратно если пользователь был ранее зарегистрирован,
если нет, то метод не сохраняет сообщение и возвращает false; */
public boolean SaveMassage(Message message) {
if (message == null) return false;
for (Author _author : authors) {
if (_author.getName().equals(message.getAuthor().getName())) {
messages.add(message);
return true;
}
}
return false;
}
/* --Метод regUser сохраняет отправленного пользователя и возвращает true, если ни один другой пользователь с подобным именем
не был зарегистрирован до этого. В противном случае метод не сохраняет пользователя и возвращает false. */
public boolean regUser(Author author) {
if (author == null) return false;
for (Author _author : authors) {
if (_author.getName().equals(author.getName())) {
return false;
}
}
authors.add(author);
return true;
}
/* -- Метод findUser ищет пользователя с заданным именем зарегистрированного ранее" на доске обьявлений" и возвращает этого пользователя.
Если пользователь с таким именем не существует, то метод возвращает null обратно. */
public Author findUser(String name) {
if (name.length() < 1) return null;
for (Author _author : authors) {
if (_author.getName().equals(name)) {
return _author;
}
}
return null;
}
/* -- Метод findMassages для поиска сообщений. Этот метод возвращает массив хранимых сообщений, чья тема или сообщение содержит
переданную строку поиска (в качестве подстроки)(полу-String). Написание с большой или маленькой буквы должно быть проигнориванно.
Если ни одно сообщение не удовлетворяет ранее упомянотому критерию, то метод должен вернуть пустой массив(не null)(Просто пустой массив). */
public ArrayList<Message> findMassages(String str) {
ArrayList<Message> result = new ArrayList<>();
for (Message message : messages) {
if (message.getTheme().toLowerCase().contains(str.toLowerCase())){
result.add(message);
}
}
return result;
}
/* -Методы возвращают количество сообщений соответственно зарегистрированных пользователей. */
public int СMassages(){
return messages.size();
}
public int CAutors(){
return authors.size();
}
}
请停止重复代码并遵守命名变量和方法的规则!!!否则,实现可能是这样的(虽然这比使用集合更糟糕,我不知道你为什么需要它):