個人開発途中経過
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -24,3 +24,4 @@
|
|||||||
hs_err_pid*
|
hs_err_pid*
|
||||||
replay_pid*
|
replay_pid*
|
||||||
|
|
||||||
|
/build/
|
||||||
|
|||||||
63
src/main/java/BaseTicket.java
Normal file
63
src/main/java/BaseTicket.java
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
public class BaseTicket {
|
||||||
|
|
||||||
|
// カプセル化
|
||||||
|
private String eventName;
|
||||||
|
private String ticketId;
|
||||||
|
private String eventData;
|
||||||
|
|
||||||
|
// 初期化
|
||||||
|
public BaseTicket(String ticketId, String eventName, String eventData) {
|
||||||
|
this.eventName = eventName;
|
||||||
|
this.ticketId = ticketId;
|
||||||
|
this.eventData = eventData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEventName() {
|
||||||
|
return eventName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEventName(String eventName) {
|
||||||
|
this.eventName = eventName;
|
||||||
|
// Nullチェックと空白チェック
|
||||||
|
if (eventName == null || eventName.strip().isEmpty()) {
|
||||||
|
System.out.println("イベント名が空のため設定できませんでした");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTicketId() {
|
||||||
|
return ticketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTicketId(String ticketId) {
|
||||||
|
this.ticketId = ticketId;
|
||||||
|
if (ticketId == null || ticketId.strip().isEmpty()) {
|
||||||
|
System.out.println("チケットIDが空のため設定できませんでした");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEventData() {
|
||||||
|
return eventData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEventData(String eventData) {
|
||||||
|
this.eventData = eventData;
|
||||||
|
if (eventData == null || eventData.strip().isEmpty()) {
|
||||||
|
System.out.println("開催日が空のため設定できませんでした");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showBaseInfo() {
|
||||||
|
System.out.println("チケットID:" + ticketId);
|
||||||
|
System.out.println("イベント名:" + eventName);
|
||||||
|
System.out.println("開催日:" + eventData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showInfo() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
33
src/main/java/Main.java
Normal file
33
src/main/java/Main.java
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// インスタンス化
|
||||||
|
TicketManager manager = new TicketManager();
|
||||||
|
|
||||||
|
manager.addTicket(new Ticket("001", "ROCK IN JAPAN 2026", "2026-09-12", 16000));
|
||||||
|
manager.addTicket(new Ticket("002", "ROCK IN JAPAN 2026", "2026-09-13", 16000));
|
||||||
|
manager.addTicket(new Ticket("003", "ROCK IN JAPAN 2026", "2026-09-19", 16000));
|
||||||
|
manager.addTicket(new Ticket("004", "ROCK IN JAPAN 2026", "2026-09-20", 16000));
|
||||||
|
manager.addTicket(new Ticket("005", "ROCK IN JAPAN 2026", "2026-09-21", 16000));
|
||||||
|
|
||||||
|
manager.showAllTockets();
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.println("=== 日付ごとの予約仕分け結果 ===");
|
||||||
|
System.out.println("2026-09-12 (1日目) の予約件数:" + manager.GetCountByDate("2026-09-12") + "件");
|
||||||
|
System.out.println("2026-09-13 (2日目) の予約件数:" + manager.GetCountByDate("2026-09-13") + "件");
|
||||||
|
System.out.println("2026-09-19 (3日目) の予約件数:" + manager.GetCountByDate("2026-09-19") + "件");
|
||||||
|
System.out.println("2026-09-20 (4日目) の予約件数:" + manager.GetCountByDate("2026-09-20") + "件");
|
||||||
|
System.out.println("2026-09-21 (5日目) の予約件数:" + manager.GetCountByDate("2026-09-21") + "件");
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("現在の予約件数合計:" + Ticket.getReservedCount() + "件");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
|
||||||
|
// テスト
|
||||||
|
System.out.println("テスト");
|
||||||
|
Ticket sample = new Ticket("T999", "テストイベント", "2026-09-22", 16000);
|
||||||
|
sample.setEventName("");
|
||||||
|
}
|
||||||
|
}
|
||||||
32
src/main/java/Ticket.java
Normal file
32
src/main/java/Ticket.java
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
// 継承
|
||||||
|
public class Ticket extends BaseTicket {
|
||||||
|
private int price;
|
||||||
|
// Ticketクラスで共有する変数
|
||||||
|
private static int reservedCount = 0;
|
||||||
|
|
||||||
|
public static int getReservedCount() {
|
||||||
|
return reservedCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ticket(String ticketId, String eventName, String eventData, int price) {
|
||||||
|
// BaseTicketのコンストラクタを動かすため
|
||||||
|
super(ticketId, eventName, eventData);
|
||||||
|
this.price = price;
|
||||||
|
// チケットが追加されるたびに予約件数をカウントアップ
|
||||||
|
reservedCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPrice() {
|
||||||
|
return price;
|
||||||
|
}
|
||||||
|
|
||||||
|
// BaseTicketのshowInfoに上書き
|
||||||
|
@Override
|
||||||
|
public void showInfo() {
|
||||||
|
showBaseInfo();
|
||||||
|
System.out.println("価格:" + price + "円");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
29
src/main/java/TicketManager.java
Normal file
29
src/main/java/TicketManager.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TicketManager {
|
||||||
|
// 可変長の配列作成
|
||||||
|
private List<BaseTicket> tickets = new ArrayList<>();
|
||||||
|
|
||||||
|
// ポリモーフィズム
|
||||||
|
public void addTicket(BaseTicket ticket) {
|
||||||
|
tickets.add(ticket);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showAllTockets() {
|
||||||
|
// for-each文
|
||||||
|
for (BaseTicket ticket : tickets) {
|
||||||
|
ticket.showInfo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 日付ごとの仕分け
|
||||||
|
public int GetCountByDate(String targetDate) {
|
||||||
|
int count = 0;
|
||||||
|
for (BaseTicket ticket : tickets) {
|
||||||
|
if (ticket.getEventData().equals(targetDate)) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user