入力したデータが 1 つではなくリスト内のすべての要素に書き込まれているという問題があり、その理由を理解するのに本当に苦労しています。
public class Courts implements Serializable {
private static final long serialVersionUID = 1;
List<String[][]> allCourts = new ArrayList<String[][]>(10);
}
そして、これが私がこのリストを変更するために使用している方法です
public String bookCourt(int courtNo,int day,int time) throws RemoteException{
String [][] tmp = court.allCourts.get(courtNo - 1);
if(tmp[day-1][time-1].equals("Available")){
tmp[day-1][time-1] = logged.name;
court.allCourts.set(courtNo - 1,tmp);
return "Your booking has been accepted, booking is on (" + court.courtNames[courtNo - 1] +
"),(" + court.days[day - 1] + ") at ("
+ court.times[time - 1] + ").\n";
}
return "Court already taken by " + tmp[day-1][time-1] + ".\n";
}
フォーマットが少しおかしくなりました。申し訳ありません..
これがすべきことは、courtNo-1 インデックスの allCourts リストから 2D 配列を取得し、指定された位置の文字列が「使用可能」であるかどうか、およびそれが Logged.name に設定されているかどうかを確認することです。
次に、この更新された 2D 配列を取得し、リスト内の配列を上書きする必要があります。唯一の問題は、allCourts リスト内のすべての要素に名前または配列を書き込むことです。理由はわかりません。また、あなたが提供できる助けに感謝します。自分。