Я пытаюсь сделать так, чтобы класс правильно реализовал интерфейс, но, похоже, попал в кирпичную стену.Я не уверен, что код, который я уже написал, правильный, но это был единственный способ понять, как подойти к задаче.Мне дали интерфейс с этой информацией:
package mvcchords;
public interface NoteStore {
int getNextNote();
boolean hasNextNote();
void noteAdded(int midicode);
void start(int sortOrder);
}
Приложение отображает клавиши пианино, которые позволяют пользователю нажимать на них, и сохраняет порядок, в котором они были нажаты, и мидикод примечаний для конкретногозвук.Затем, когда пользователь нажимает кнопку воспроизведения, он вызывает мелодию в порядке сохранения заметок.Когда пользователь нажимает на заметку, вызывается noteAdded
.hasNextNote
используется, чтобы проверить, является ли это концом сохраненных заметок или нет.getNextNote
используется для получения следующей заметки из списка массивов, а start
вызывается, когда пользователь нажимает кнопку воспроизведения.Мне сказали, что целое число sortOrder
не имеет отношения к этой части задачи.Мне сказали, что при нажатии кнопки воспроизведения следует вызывать метод start
, а затем повторно вызывать метод getNextNote
до тех пор, пока не будут получены все заметки.
Ниже приведен код, который я написал таккласс для реализации этого интерфейса;
import java.util.*;
import mvcchords.*;
public class MyNoteStore implements NoteStore {
public ArrayList<Integer> Notes;
public void noteAdded(int midicode) {
Notes.add(midicode);
}
public boolean hasNextNote(int k) {
if(Notes.get(k) != null)
return true;
else
return false;
}
public int getNextNote(int k) {
if(hasNextNote(Notes.get(k)) == true)
return Notes.get(k);
else
return 0;
}
public void start(int sortOrder) {
for(int k = 0; k < Notes.size(); k++){
hasNextNote(k);
getNextNote(k);
}
}
}
Этот код дает мне ошибку, говорящую
MyNoteStore is not abstract and does not override abstract method `hasNextNote()` in `mvcchords.NoteStore`.
Я не знаю, куда идти отсюда, и любая помощь будет признательна,Если потребуется дополнительная информация, я сделаю все возможное, чтобы уточнить любые замечания, которые я высказал.
Заранее благодарен:)