一致に基づいて配列の要素を削除する必要があります。これがイベントを削除する私の方法です。
public boolean removeEvent(int year, int month, int day, int start, int end, String activity)
{
Event newEvent = new Event(year, month, day, start, end, activity);
for (int i = 0; i < 5; i++)
{
if (newEvent.equals(events[i]))
{
events[i] = null;
newEvent = null;
numEvents--;
}
}
やってみると
calendarTest1.removeEvent(2000, 1, 1, 1, 1, "Cal Test 1");
何も起こりません。配列にこれらの値を持つ要素がありますが、その要素を null に変更しません。
これは宿題なので、やり方を教えて欲しくありません。ありがとうございました。
これが私のequalsメソッドです:
public boolean equals(Object obj){
Event someEvent = (Event) obj;
if(
this.date == someEvent.date
&&
this.start == someEvent.start
&&
this.end == someEvent.end
&&
this.activity.equals(someEvent.activity))
if(obj == null)
return false;
if(obj instanceof Event)
return true;
else
{
return false;
}
}
さまざまなことを試しましたが、まだ NullPointerException エラーが発生します