個人開発追加
This commit is contained in:
@@ -14,7 +14,6 @@ public class Main {
|
|||||||
manager.addTicket(new Ticket("S002", "SUMMER SONIC 2026", "2026-08-15", 21000));
|
manager.addTicket(new Ticket("S002", "SUMMER SONIC 2026", "2026-08-15", 21000));
|
||||||
manager.addTicket(new Ticket("S003", "SUMMER SONIC 2026", "2026-08-16", 21000));
|
manager.addTicket(new Ticket("S003", "SUMMER SONIC 2026", "2026-08-16", 21000));
|
||||||
|
|
||||||
|
|
||||||
Scanner scanner = new Scanner(System.in);
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
@@ -36,6 +35,7 @@ public class Main {
|
|||||||
manager.showAllTockets();
|
manager.showAllTockets();
|
||||||
} else if (serchMenu == 2) {
|
} else if (serchMenu == 2) {
|
||||||
System.out.println("検索するイベント名を入力してください");
|
System.out.println("検索するイベント名を入力してください");
|
||||||
|
scanner.nextLine();
|
||||||
String keyword = scanner.nextLine();
|
String keyword = scanner.nextLine();
|
||||||
manager.searchByEventName(keyword);
|
manager.searchByEventName(keyword);
|
||||||
} else {
|
} else {
|
||||||
@@ -79,7 +79,7 @@ public class Main {
|
|||||||
// 配列から選択された値を取り出す
|
// 配列から選択された値を取り出す
|
||||||
String date = dates[detailChoice - 1];
|
String date = dates[detailChoice - 1];
|
||||||
int price = prices[detailChoice - 1];
|
int price = prices[detailChoice - 1];
|
||||||
|
|
||||||
String nextId = prefix + String.format("%03d", manager.getCountByPrefix(prefix) + 1);
|
String nextId = prefix + String.format("%03d", manager.getCountByPrefix(prefix) + 1);
|
||||||
|
|
||||||
Ticket newTicket = new Ticket(nextId, name, date, price);
|
Ticket newTicket = new Ticket(nextId, name, date, price);
|
||||||
@@ -90,9 +90,64 @@ public class Main {
|
|||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
System.out.println("予約内容の変更");
|
System.out.println("予約内容の変更");
|
||||||
|
scanner.nextLine();
|
||||||
|
System.out.println("変更したいチケットIDを入力してください。");
|
||||||
|
String targetId = scanner.nextLine();
|
||||||
|
|
||||||
|
// IDでチケット検索
|
||||||
|
BaseTicket targetTicket = manager.findTicketById(targetId);
|
||||||
|
|
||||||
|
if (targetTicket == null) {
|
||||||
|
System.out.println("指定されたチケットが見つかりませんでした。");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 予約内容表示
|
||||||
|
System.out.println("現在の予約内容");
|
||||||
|
targetTicket.showInfo();
|
||||||
|
|
||||||
|
String[] changeDates;
|
||||||
|
if (targetTicket.getTicketId().toUpperCase().startsWith("R")) {
|
||||||
|
changeDates = new String[] { "2026-09-12", "2026-09-13", "2026-09-19", "2026-09-20", "2026-09-21" };
|
||||||
|
} else {
|
||||||
|
changeDates = new String[] { "2026-08-14", "2026-08-15", "2026-08-16" };
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("新しい開催日を選択してください。");
|
||||||
|
for (int i = 0; i < changeDates.length; i++) {
|
||||||
|
System.out.println((i + 1) + ":" + changeDates[i]);
|
||||||
|
}
|
||||||
|
System.out.print("番号を選択してください: ");
|
||||||
|
int changeChoice = scanner.nextInt();
|
||||||
|
scanner.nextLine();
|
||||||
|
|
||||||
|
if (changeChoice < 1 || changeChoice > changeDates.length) {
|
||||||
|
System.out.println("無効な番号です。変更を中止します。");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// カプセル化されたセッターを使って日付を上書き
|
||||||
|
String newDate = changeDates[changeChoice - 1];
|
||||||
|
targetTicket.setEventData(newDate);
|
||||||
|
|
||||||
|
System.out.println("\n予約内容が正常に変更されました!");
|
||||||
|
System.out.println("変更後の内容:");
|
||||||
|
targetTicket.showInfo();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
System.out.println("予約のキャンセル");
|
System.out.println("予約のキャンセル");
|
||||||
|
scanner.nextLine();
|
||||||
|
|
||||||
|
System.out.println("キャンセルしたいチケットのIDを入力してください。");
|
||||||
|
String cancelId = scanner.nextLine();
|
||||||
|
|
||||||
|
boolean isDeleted = manager.removeTicketById(cancelId);
|
||||||
|
if (isDeleted) {
|
||||||
|
System.out.println("チケットID:" + cancelId + "の予約がキャンセルされました。");
|
||||||
|
} else {
|
||||||
|
System.out.println("指定されたチケットIDが見つかりませんでした。");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
System.out.println("チケット予約管理システムを終了します");
|
System.out.println("チケット予約管理システムを終了します");
|
||||||
|
|||||||
@@ -61,4 +61,24 @@ public class TicketManager {
|
|||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// チケットIDから検索
|
||||||
|
public BaseTicket findTicketById(String id) {
|
||||||
|
for (BaseTicket ticket : tickets) {
|
||||||
|
if (ticket.getTicketId().equalsIgnoreCase(id)) {
|
||||||
|
return ticket;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean removeTicketById(String id) {
|
||||||
|
for (int i = 0; i < tickets.size(); i++) {
|
||||||
|
if (tickets.get(i).getTicketId().equalsIgnoreCase(id)) {
|
||||||
|
tickets.remove(i);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user