From 64f13ca94ed7afa9771b2c093e8ee7a11a493af6 Mon Sep 17 00:00:00 2001 From: CeydaFikir Date: Tue, 8 Oct 2024 21:44:45 +0300 Subject: [PATCH 1/3] section comment Sections were added as comment --- G3_CENG211_HW1/src/TicketBookingApplication.java | 3 +++ G3_CENG211_HW1/src/Venue.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/G3_CENG211_HW1/src/TicketBookingApplication.java b/G3_CENG211_HW1/src/TicketBookingApplication.java index e319928..c26d42c 100644 --- a/G3_CENG211_HW1/src/TicketBookingApplication.java +++ b/G3_CENG211_HW1/src/TicketBookingApplication.java @@ -16,7 +16,10 @@ public static void main(String[] args) throws Exception { throw exception; // Re-throw the exception to be handled in the main method } catch (IOException e) { System.out.println("An error occurred: " + e.getMessage()); + throw e; // Ensure IOException is also re-thrown for handling in main method + + } } diff --git a/G3_CENG211_HW1/src/Venue.java b/G3_CENG211_HW1/src/Venue.java index e43ba4b..e353f71 100644 --- a/G3_CENG211_HW1/src/Venue.java +++ b/G3_CENG211_HW1/src/Venue.java @@ -1,6 +1,6 @@ public class Venue { private int numOfSections; - private Section[] sections; + private Section[] sections; //0,1,2,3 // Constructors From 64615bdb1b569c1a4d7337612a9805bd625cea34 Mon Sep 17 00:00:00 2001 From: CeydaFikir Date: Mon, 14 Oct 2024 17:09:38 +0300 Subject: [PATCH 2/3] Query Query is added --- G3_CENG211_HW1/src/Query.java | 112 +++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/G3_CENG211_HW1/src/Query.java b/G3_CENG211_HW1/src/Query.java index cf75008..0f8fa0f 100644 --- a/G3_CENG211_HW1/src/Query.java +++ b/G3_CENG211_HW1/src/Query.java @@ -1,4 +1,114 @@ public class Query { - //sorgulama + // Query to find all available tickets in a specific section + public static Ticket[] findAvailableTicketsInSection(Ticket[] tickets, int sectionNumber) { + int count = 0; + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { + count++; + } + } + + Ticket[] availableTickets = new Ticket[count]; + int index = 0; + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { + availableTickets[index++] = ticket; + } + } + + return availableTickets; + } + + // Query to find all tickets below a certain price + public static Ticket[] findTicketsBelowPrice(Ticket[] tickets, double maxPrice) { + int count = 0; + for (Ticket ticket : tickets) { + if (ticket.getPrice() <= maxPrice) { + count++; + } + } + + Ticket[] affordableTickets = new Ticket[count]; + int index = 0; + for (Ticket ticket : tickets) { + if (ticket.getPrice() <= maxPrice) { + affordableTickets[index++] = ticket; + } + } + + return affordableTickets; + } + + // Query to count the number of available seats in a section + public static int countAvailableSeatsInSection(Ticket[] tickets, int sectionNumber) { + int count = 0; + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { + count++; + } + } + return count; + } + + // Query to find the most expensive ticket in the venue + public static Ticket findMostExpensiveTicket(Ticket[] tickets) { + if (tickets.length == 0) { + return null; + } + Ticket mostExpensiveTicket = tickets[0]; + for (Ticket ticket : tickets) { + if (ticket.getPrice() > mostExpensiveTicket.getPrice()) { + mostExpensiveTicket = ticket; + } + } + return mostExpensiveTicket; + } + + // Query to find the least expensive ticket in the venue + public static Ticket findLeastExpensiveTicket(Ticket[] tickets) { + if (tickets.length == 0) { + return null; + } + Ticket leastExpensiveTicket = tickets[0]; + for (Ticket ticket : tickets) { + if (ticket.getPrice() < leastExpensiveTicket.getPrice()) { + leastExpensiveTicket = ticket; + } + } + return leastExpensiveTicket; + } + + // Query to find tickets in a specific row and section + public static Ticket[] findTicketsInRowAndSection(Ticket[] tickets, int sectionNumber, int rowNumber) { + int count = 0; + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber && ticket.getRowNumber() == rowNumber) { + count++; + } + } + + Ticket[] matchingTickets = new Ticket[count]; + int index = 0; + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber && ticket.getRowNumber() == rowNumber) { + matchingTickets[index++] = ticket; + } + } + + return matchingTickets; + } + + // Query to check if a specific seat is available (based on section, row, and seat number) + public static boolean isSeatAvailable(Ticket[] tickets, int sectionNumber, int rowNumber, int seatNumber) { + for (Ticket ticket : tickets) { + if (ticket.getSectionNumber() == sectionNumber + && ticket.getRowNumber() == rowNumber + && ticket.getSeatNumber() == seatNumber + && !ticket.isBooked()) { + return true; + } + } + return false; + } } From ee41a3bf70caeee7ab3b94cd96717f3f31dc6117 Mon Sep 17 00:00:00 2001 From: CeydaFikir Date: Wed, 16 Oct 2024 18:08:42 +0300 Subject: [PATCH 3/3] Update Query.java --- G3_CENG211_HW1/src/Query.java | 111 ++++++---------------------------- 1 file changed, 18 insertions(+), 93 deletions(-) diff --git a/G3_CENG211_HW1/src/Query.java b/G3_CENG211_HW1/src/Query.java index 0f8fa0f..be5b46c 100644 --- a/G3_CENG211_HW1/src/Query.java +++ b/G3_CENG211_HW1/src/Query.java @@ -1,114 +1,39 @@ public class Query { - // Query to find all available tickets in a specific section - public static Ticket[] findAvailableTicketsInSection(Ticket[] tickets, int sectionNumber) { - int count = 0; - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { - count++; - } - } + public void findTheSectionWithTheHighestRevenue(Venue venue){ + Section[] sections = venue.getSections(); + double highestRevenue = 0; + int highestRevenueID = 0; - Ticket[] availableTickets = new Ticket[count]; - int index = 0; - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { - availableTickets[index++] = ticket; + for(int i = 0; i < sections.length; i++){ + if (sections[i].calculateRevenue()>highestRevenue){ + highestRevenue = sections[i].calculateRevenue(); + highestRevenueID = i+1; } } - return availableTickets; + System.out.println("Section with the highest revenue is section " + highestRevenueID + + ", and the revenue of this section is " + highestRevenue); } - // Query to find all tickets below a certain price - public static Ticket[] findTicketsBelowPrice(Ticket[] tickets, double maxPrice) { - int count = 0; - for (Ticket ticket : tickets) { - if (ticket.getPrice() <= maxPrice) { - count++; - } - } - - Ticket[] affordableTickets = new Ticket[count]; - int index = 0; - for (Ticket ticket : tickets) { - if (ticket.getPrice() <= maxPrice) { - affordableTickets[index++] = ticket; - } - } + public void findTheTotalRevenueOfTheVenue(Venue venue){ - return affordableTickets; } - // Query to count the number of available seats in a section - public static int countAvailableSeatsInSection(Ticket[] tickets, int sectionNumber) { - int count = 0; - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber && !ticket.isBooked()) { - count++; - } - } - return count; - } + public void findTheOccupancyRateOfTheVenue(Venue venue){ - // Query to find the most expensive ticket in the venue - public static Ticket findMostExpensiveTicket(Ticket[] tickets) { - if (tickets.length == 0) { - return null; - } - Ticket mostExpensiveTicket = tickets[0]; - for (Ticket ticket : tickets) { - if (ticket.getPrice() > mostExpensiveTicket.getPrice()) { - mostExpensiveTicket = ticket; - } - } - return mostExpensiveTicket; } - // Query to find the least expensive ticket in the venue - public static Ticket findLeastExpensiveTicket(Ticket[] tickets) { - if (tickets.length == 0) { - return null; - } - Ticket leastExpensiveTicket = tickets[0]; - for (Ticket ticket : tickets) { - if (ticket.getPrice() < leastExpensiveTicket.getPrice()) { - leastExpensiveTicket = ticket; - } - } - return leastExpensiveTicket; + public void findTheHighetsPaidCustomersTickets(Venue venue){ + } - // Query to find tickets in a specific row and section - public static Ticket[] findTicketsInRowAndSection(Ticket[] tickets, int sectionNumber, int rowNumber) { - int count = 0; - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber && ticket.getRowNumber() == rowNumber) { - count++; - } - } + public void findTheMostExpensiveTicket(Venue venue){ - Ticket[] matchingTickets = new Ticket[count]; - int index = 0; - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber && ticket.getRowNumber() == rowNumber) { - matchingTickets[index++] = ticket; - } - } - - return matchingTickets; } - // Query to check if a specific seat is available (based on section, row, and seat number) - public static boolean isSeatAvailable(Ticket[] tickets, int sectionNumber, int rowNumber, int seatNumber) { - for (Ticket ticket : tickets) { - if (ticket.getSectionNumber() == sectionNumber - && ticket.getRowNumber() == rowNumber - && ticket.getSeatNumber() == seatNumber - && !ticket.isBooked()) { - return true; - } - } - return false; + private void drawTheSection(Venue venue){ + } + }