Library management -book borrow /Fine calculation
package muttablepack;
public class Book {
private int id;
private String name;
public Book(){}
public Book(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + "]";
}
}
--------------------------------------------------------------------------------------------------------------------
package muttablepack;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Borrow
{
private int slno;
private Member member;
private Book book;
String borrowDate;
public Borrow(){}
public Borrow(int slno, Member member, Book book, String borrowDate)
{
this.slno = slno;
this.member = member;
this.book = book;
this.borrowDate = borrowDate;
}
public Member getMember()
{
return member;
}
public void setMember(Member member)
{
this.member = member;
}
public Book getBook()
{
return book;
}
public void setBook(Book book)
{
this.book = book;
}
public int getSlno()
{
return slno;
}
public void setSlno(int slno)
{
this.slno = slno;
}
public String getBorrowDate()
{
return borrowDate;
}
public void setBorrowDate(String borrowDate)
{
this.borrowDate = borrowDate;
}
}
--------------------------------------------------------------------------------------------------------
package muttablepack;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class Library {
private ArrayList<Member> memberList = new ArrayList<Member>();
private ArrayList<Book> bookList = new ArrayList<Book>();
static Date date = new Date();
public Library(){}
public void addBook(Book book)
{
bookList.add(book);
}
public void addMember(int index, Member member)
{
memberList.add(index, member);
}
public ArrayList searchMember()
{
return memberList;
}
public static Date getDate() {
return date;
}
public static void setDate(Date date)
{
SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
ft.format(date);
Library.date = date;
}
public String issue(Book book, Member member)
{
if(!member.hasBook())
{
member.setBook(book);
return "issued the book successfully";
}
else
return " member cant access more than one book";
}
public double bill(Borrow b) throws ParseException
{
double amount = 0.0;
SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
Date d = ft.parse(b.getBorrowDate());
int days = (int) (Library.getDate().getTime() - d.getTime())/(24*60*60*1000);
System.out.println("days = " + days);
if(days<=7)
{
days = 0;
amount = 0.0;
}
else if ((days>7) && (days<=30))
{
days = days - 7;
System.out.println("inside days = " + days);
amount = days * 10;
}
else if((days>30) && (days<=60))
{
days = 23 + (days - 30);
amount = days * 50;
}
else
{
int remainingDays = days - 53;
double months = Math.ceil(remainingDays/30);
amount = 53 * 50 + months * 50;
}
return amount;
}
public static void main(String ar[]) throws ParseException
{
Library l = new Library();
Book b1 = new Book(100,"Java");
Member m1 = new Member(2000,"Vikas");
l.addBook(b1);
l.addMember(0, m1);
System.out.println(l.issue(b1, m1));
//System.out.println(l.issue(b1, m1));
Borrow b = new Borrow(1, m1, b1, "10/10/2014");
System.out.println(b.getBorrowDate());
System.out.println(l.bill(b));
}
}
package muttablepack;
public class Book {
private int id;
private String name;
public Book(){}
public Book(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + "]";
}
}
--------------------------------------------------------------------------------------------------------------------
package muttablepack;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Borrow
{
private int slno;
private Member member;
private Book book;
String borrowDate;
public Borrow(){}
public Borrow(int slno, Member member, Book book, String borrowDate)
{
this.slno = slno;
this.member = member;
this.book = book;
this.borrowDate = borrowDate;
}
public Member getMember()
{
return member;
}
public void setMember(Member member)
{
this.member = member;
}
public Book getBook()
{
return book;
}
public void setBook(Book book)
{
this.book = book;
}
public int getSlno()
{
return slno;
}
public void setSlno(int slno)
{
this.slno = slno;
}
public String getBorrowDate()
{
return borrowDate;
}
public void setBorrowDate(String borrowDate)
{
this.borrowDate = borrowDate;
}
}
--------------------------------------------------------------------------------------------------------
package muttablepack;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class Library {
private ArrayList<Member> memberList = new ArrayList<Member>();
private ArrayList<Book> bookList = new ArrayList<Book>();
static Date date = new Date();
public Library(){}
public void addBook(Book book)
{
bookList.add(book);
}
public void addMember(int index, Member member)
{
memberList.add(index, member);
}
public ArrayList searchMember()
{
return memberList;
}
public static Date getDate() {
return date;
}
public static void setDate(Date date)
{
SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
ft.format(date);
Library.date = date;
}
public String issue(Book book, Member member)
{
if(!member.hasBook())
{
member.setBook(book);
return "issued the book successfully";
}
else
return " member cant access more than one book";
}
public double bill(Borrow b) throws ParseException
{
double amount = 0.0;
SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
Date d = ft.parse(b.getBorrowDate());
int days = (int) (Library.getDate().getTime() - d.getTime())/(24*60*60*1000);
System.out.println("days = " + days);
if(days<=7)
{
days = 0;
amount = 0.0;
}
else if ((days>7) && (days<=30))
{
days = days - 7;
System.out.println("inside days = " + days);
amount = days * 10;
}
else if((days>30) && (days<=60))
{
days = 23 + (days - 30);
amount = days * 50;
}
else
{
int remainingDays = days - 53;
double months = Math.ceil(remainingDays/30);
amount = 53 * 50 + months * 50;
}
return amount;
}
public static void main(String ar[]) throws ParseException
{
Library l = new Library();
Book b1 = new Book(100,"Java");
Member m1 = new Member(2000,"Vikas");
l.addBook(b1);
l.addMember(0, m1);
System.out.println(l.issue(b1, m1));
//System.out.println(l.issue(b1, m1));
Borrow b = new Borrow(1, m1, b1, "10/10/2014");
System.out.println(b.getBorrowDate());
System.out.println(l.bill(b));
}
}