0% found this document useful (0 votes)
46 views

Lms Implementation

1. The document defines a Library Management System class with methods to add, issue, return and print details of books. 2. It imports necessary Java libraries and defines static lists to store book and issue details. 3. The main method displays an interactive menu to call methods that manage the library functions like adding books, issuing, returning books and printing their details.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Lms Implementation

1. The document defines a Library Management System class with methods to add, issue, return and print details of books. 2. It imports necessary Java libraries and defines static lists to store book and issue details. 3. The main method displays an interactive menu to call methods that manage the library functions like adding books, issuing, returning books and printing their details.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

import librarypackage.

*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class LMSImplementation{

static List<BookDetails> books = new ArrayList<BookDetails>();


static Map<Integer, ArrayList<BookIssueDetails>> hm = new HashMap<Integer,
ArrayList<BookIssueDetails>>();

public static void main(String[] args) {


addIssueDetails();
System.out.println("Library Management System");
System.out.println("Press 1 to add Book");
System.out.println("Press 2 to issue a book");
System.out.println("Press 3 to return a book");
System.out.println("Press 4 to print the book details");
System.out.println("Press 5 to print complete issue detais");
System.out.println("Press 6 to exit");
Scanner c = new Scanner(System.in);
int choice = c.nextInt();
do {
switch (choice) {
case 1:
addBook();
break;
case 2:
issueBook();
break;
case 3:
returnBook();
break;
case 4:
printBookDetails();
break;
case 5:
printCompleteIssueDetails();
break;
case 6:
System.exit(0);
default:
System.out.println("Invalid input");
break;
}
c = new Scanner(System.in);
choice = c.nextInt();
} while (choice > 0 && choice < 6);
}

private static void printCompleteIssueDetails() {


for (Map.Entry<Integer, ArrayList<BookIssueDetails>> entry : hm
.entrySet()) {
for (BookIssueDetails b : entry.getValue()) {
System.out.println(entry.getKey() + " " + b.getBookNumber()
+ " " + b.getName() + " " + b.getNoOfBookIssued()
+ " " + b.getIssueDate() + " " + b.getReturnDate());
}
}
}

private static void printBookDetails() {


for (BookDetails b : books) {
System.out.print(b.getBookNumber() + " " + b.getBookName() + " "
+ b.getCount() + " " + b.getPrice());
}
}

private static void returnBook() {


System.out.println("Enter studentId & bookId");
Scanner c = new Scanner(System.in);
int id = c.nextInt();
int bookId = c.nextInt();
List<BookIssueDetails> bd = hm.get(id);
for (BookIssueDetails b : bd) {
if (b.getBookNumber() == bookId) {
Date issueDate = b.getIssueDate();
Date todayDate = new Date();

long diff = todayDate.getTime() - issueDate.getTime();

long diffDays = diff / (24 * 60 * 60 * 1000);

if (diffDays > 10) {


int fine = (int) (diffDays - 10);
fine = fine * 10;
System.out.println("Total Fine " + fine + " Rs.");
}
}
}

private static void addIssueDetails() {


BookIssueDetails bd1 = new BookIssueDetails(1,"abc",1,new Date("04/04/2015"));
BookIssueDetails bd2 = new BookIssueDetails(2,"xyz",1,new Date());
BookIssueDetails bd3 = new BookIssueDetails(3,"mn",1,new Date());
BookIssueDetails bd4 = new BookIssueDetails(4,"u",1,new Date());
ArrayList<BookIssueDetails> list1 = new ArrayList<BookIssueDetails>();
ArrayList<BookIssueDetails> list2 = new ArrayList<BookIssueDetails>();
ArrayList<BookIssueDetails> list3 = new ArrayList<BookIssueDetails>();
ArrayList<BookIssueDetails> list4 = new ArrayList<BookIssueDetails>();

list1.add(bd1);
list2.add(bd2);
list3.add(bd3);
list4.add(bd4);
hm.put(100, list1);
hm.put(101, list2);
hm.put(103, list3);
hm.put(104, list4);
}

private static void issueBook() {


System.out.println("Enter Student Id,Booknumber, name and price");
Scanner c = new Scanner(System.in);
int studentId = c.nextInt();
Scanner c1 = new Scanner(System.in);
int bookNumber = c1.nextInt();
Scanner c2 = new Scanner(System.in);
String name = c2.nextLine();
Scanner c3 = new Scanner(System.in);
String issueDate = c3.nextLine();
BookIssueDetails newIssuedBook = new BookIssueDetails();
newIssuedBook.setName(name);
newIssuedBook.setBookNumer(bookNumber);

ArrayList<BookIssueDetails> l=new ArrayList<BookIssueDetails>();

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");

try {

Date date = formatter.parse(issueDate);


newIssuedBook.setIssueDate(date);

} catch (ParseException e) {
e.printStackTrace();
}

List<BookIssueDetails> list = hm.get(studentId);


for (BookIssueDetails b : list) {
int value = b.getNoOfBookIssued();
newIssuedBook.setNoOfBookIssued(++value);
l.add(newIssuedBook);
if (value > 2)
System.out.println("You already issued max(2) books");
else
hm.put(studentId, l);
}
}

private static void addBook() {


System.out.println("Enter Booknumber, name and price");
Scanner c = new Scanner(System.in);
int bookNumber = c.nextInt();
String name = c.nextLine();
Double price = c.nextDouble();

BookDetails book = new BookDetails(bookNumber, name, price);


books.add(book);

You might also like