i am making a program that reads input from a user, allows them to view the books available in my library (which is imported from an excel sheet), picking an item and choosing to borrow it, but the thing is that i want to put borrowing and return dates, how do i do that exactly? for example: if a user confirms the borrowing of a book, after the operation happens the date of borrowing should be added in the excel sheet, and also a little side request with this; if it is possible to somehow neglect the first row in a for loop that is looping across an array of loops and proceed with other rows then please help me out with that as well (this loop is at line 111 in the code, the one after the list "filteredBooks") here is my code so far: `public class BookStudentMerge {
public static List<Row> getStudentInfo(Sheet sheet, DataFormatter formatter, FormulaEvaluator evaluator, String searchValue) {
List<Row> result = new ArrayList<Row>();
String cellValue = "";
String searchV = searchValue.toLowerCase();
for (Row row : sheet) {
for (Cell cell : row) {
cellValue = formatter.formatCellValue(cell, evaluator);
String cellV = cellValue.toLowerCase();
if (cellV.contains(searchV)) {
result.add(row);
break;
}
}
}
return result;
}
public static List<Row> bookSearch(Sheet sheet, DataFormatter formatter, FormulaEvaluator evaluator, String searchValue) {
List<Row> none = new ArrayList<Row>();
String searchM = searchValue.toLowerCase();
List<Row> result = new ArrayList<Row>();
String cellValue = "";
for (Row row : sheet) {
for (Cell cell : row) {
cellValue = formatter.formatCellValue(cell, evaluator);
String cellM = cellValue.toLowerCase();
if (cellM.contains(searchM)) {
result.add(row);
break;
}
}
}
return result;
}
public static boolean checkAvailability (Row r, DataFormatter formatter, FormulaEvaluator evaluator) {
String cellValue = "";
for (Cell c : r) {
cellValue = formatter.formatCellValue(c, evaluator);
String cellM = cellValue.toLowerCase();
if (cellM.equalsIgnoreCase("Available")) {
return true;
}
}
return false;
}
public static void changeStatus (Row r, DataFormatter formatter, FormulaEvaluator evaluator) {
String cellValue = "";
for (Cell c : r) {
cellValue = formatter.formatCellValue(c, evaluator);
String cellM = cellValue.toLowerCase();
if (cellM.equalsIgnoreCase("Available")) {
c.setCellValue("Unavailable");
}
else if (cellM.equalsIgnoreCase("Unavailable")) {
c.setCellValue("Available");
}
}
}
public static void main(String[] args) throws IOException, InvalidFormatException {
Workbook Books = WorkbookFactory.create(new FileInputStream("C:\\Users\\abdul\\Desktop\\University Files\\Object-Oriented Programming\\Project files\\Book class\\Books & DDC.xlsx"));
Sheet SB = Books.getSheetAt(0);
Workbook Students = WorkbookFactory.create(new FileInputStream("C:\\Users\\abdul\\Desktop\\University Files\\Object-Oriented Programming\\Project files\\Book class\\StudentsInfo.xlsx"));
Sheet SS = Students.getSheetAt(0);
DataFormatter FB = new DataFormatter();
FormulaEvaluator EB = Books.getCreationHelper().createFormulaEvaluator();
DataFormatter FS = new DataFormatter();
FormulaEvaluator ES = Students.getCreationHelper().createFormulaEvaluator();
Scanner s = new Scanner (System.in);
System.out.println("Welcome to our BiblioTheque library program!");
System.out.println("Enter a valid student ID number: ");
String inp = s.nextLine();
Row headers = SS.getRow(0);
for (Cell HS : headers) {
System.out.print(HS.getStringCellValue() + "\t\t ");
}
System.out.println();
List<Row> filteredStudents = getStudentInfo(SS, FS, ES, inp);
for (Row row : filteredStudents) {
for (Cell cell : row) {
System.out.print(FS.formatCellValue(cell, ES));
System.out.print("\t ");
}
System.out.println();
}
System.out.println();
System.out.println("Search for a book by title, author, DDC, or ISBN: ");
System.out.println("enter the name, author, ddc, isbn of your book: ");
String search = s.nextLine();
List<Row> filteredBooks = bookSearch(SB, FB, EB, search);
Row HB = SB.getRow(0);
for (Cell CB : HB) {
System.out.print(CB.getStringCellValue() + "\t\t\t");
}
System.out.println();
for (Row row : filteredBooks) {
for (Cell cell : row) {
System.out.print(FB.formatCellValue(cell, EB));
System.out.print("\t\t");
}
System.out.println();
}
if (filteredBooks.isEmpty()) {
System.out.println("no results found for the entered keyword/number");
}
else {
System.out.println("do you wish to borrow any of the displayed books?");
}
String ans = s.nextLine();
if (ans.equalsIgnoreCase("yes")) {
System.out.println("choose the desired book by typing the item's list number: ");
}
int borrow = s.nextInt() - 1;
Row Result = filteredBooks.get(borrow);
if (checkAvailability(Result, FB, EB)) {
System.out.println("You are going to borrow the book " + Result.getCell(0) + ", please proceed to the help desk to complete the operation.");
changeStatus(Result, FB, EB);
}
}
}`