The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

JAVA学习笔记

 

package hw2;

abstract class Book
{
  String title;
  String author;
  
float  price;
  
int  cat, subCat;

  
public Book (String t, String a, int c1, int c2, float p)
  
{
    title 
= t;
    author 
= a;
    price 
= p;
    cat 
= c1;
    subCat 
= c2;
  }


  
public String details ()
  
{
    
return title+""+author+" Category "+cat+"."+subCat+" value $"+price;
  }


  
public String toString()
  
{
    
return "Title <"+title+"> Author <"+author+"> cat:"+cat+" subCat:"+subCat+" price:"+price;
  }

}


package hw2;

public class Library
{
  
public static void main(String[] args)
  
{
      
  
//  Book b1 = new Book ("Java I/O Programming","E.R.Harrold",123,45,18.99F);
    
   
// Book b2 = new Book ("Java in a Nutshell","D.Flanagan",123,25,12.99F);

  
//  System.out.println(b1.details());
  
//  System.out.println(b2.details());

    Person james 
= new Person ("James Gosling",new Membership(Membership.OAP));
   
    Video v 
= new Video("Bat Man");
    System.out.println(james.canBorrow(v));
    
   
// System.out.println(james.canBorrow());
    
//Loan l1 = new Loan(b1,james);
    
//System.out.println(l1.details());
    
    
/*
    LoanableBook b3 = new LoanableBook ("Java I/O Programming","E.R.Harrold",123,45,18.99F);
    ReferenceBook b4 = new ReferenceBook ("Java in a Nutshell","D.Flanagan",123,25,12.99F);
    System.out.println(b3.details());
    System.out.println(b4.details());
    
    Person p1 = new Person("Mike", new Membership(Membership.JUNIOR));
    System.out.println(p1.details());
    
*/

    
//LoanableBook b3 = new LoanableBook ("Java I/O Programming","E.R.Harrold",123,45,18.99F);
   
// System.out.println(b3.canLoan());
   
// ReferenceBook b4 = new ReferenceBook ("Java in a Nutshell","D.Flanagan",123,25,12.99F);
   
// System.out.println(b4.canLoan());
  }


}





package hw2;

import java.util.Date;

class Loan
{
  Book book;
  Person person;
  Date date 
= new Date();

  
public Loan (Book b, Person p)
  
{
    book 
= b;
    person 
= p;
    p.borrow(b);
  }


  
public String details ()
  
{
    
return book.details()+" loaned on "+date+" to "+person.details();
  }


  
public String toString()
  
{
    
return "book "+book+" -> person"+person+" @date "+date;
  }

}




package hw2;

public interface Loanable {
    
    
public boolean canLoan();

}



package hw2;

public class LoanableBook extends Book implements Loanable
{    
    
public LoanableBook(String t, String a, int c1, int c2, float p)
    
{
        
super(t, a, c1, c2, p);
    }

    
public boolean canLoan()
    
{
        
return true;
    }

    
public String details ()
    
{
        
return "canLoan: " + canLoan() + " " +  super.details();
        
    }


}



package hw2;

public class Membership {
    
    
int mShip;
    
int nBook;
    
public final static int JUNIOR =1

    
/* 绿灯 */ 

    
public final static int STANDARD =2

    
/* 黄灯 */ 

    
public final static int OAP =3
    
    
public Membership(int mShip)
    
{
        
this.mShip = mShip;
        
if(mShip == Membership.STANDARD)
            nBook 
= 1;
        
else if(mShip == Membership.JUNIOR)
            nBook 
= 6;
        
else 
            nBook 
= Integer.MAX_VALUE;
    }

    
public String toString()
    
{
        
if(mShip == 1return "JUNIOR";
        
if(mShip == 2return "STANDARD";
        
else return "OAP";
    }

    
public int getCap()
    
{
        
return nBook;
    }

}



package hw2;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

class Person
{
  String name;
  Membership mShip;
  List
<Book> books = new ArrayList<Book>();
  List
<Video> videos = new ArrayList<Video>();
  
public void borrow(Book b)
  
{
      
      books.add(b);
  }

  
  
public void borrow(Video v)
  
{
      
      videos.add(v);
  }

  
public boolean canBorrow(Book b)
  
{
      Calendar cal 
= Calendar.getInstance(); 
      
int week = cal.get(Calendar.DAY_OF_WEEK)-1;
      
if(week==2)//设置为星期二不能借书(写程序当日)
          return false;
      
      
if(books.size()<mShip.getCap())
          
return true;
      
else
          
return false;
  }

  
public boolean canBorrow(Video v)
  
{
      
if(mShip.mShip == Membership.JUNIOR)
          
return false;
      
if(videos.size()==0return true;
      
else return false;
      
  }

  
  
  
  
public Person (String n, Membership m)
  
{
    name 
= n;
    mShip 
= m;
  }


  
public String details ()
  
{
    
return name +" " + mShip;
  }


  
public String toString()
  
{
    
return "name <"+name+">" + " " + mShip;
  }

}



package hw2;

public class ReferenceBook extends Book
{
    
public ReferenceBook(String t, String a, int c1, int c2, float p)
    
{
        
super(t, a, c1, c2, p);
    }

    
public boolean canLoan()
    
{
        
return false;
    }

    
public String details()
    
{
        
return "canLoan: " + canLoan() + " " +  super.details();
    }


}



package hw2;

public class Video {
    String name;
    
public Video(String n)
    
{
        name 
= n;
    }

    
    
public String toString()
    
{
        
return name;
    }

    
    
}





 

posted on 2014-09-16 18:22 abilitytao 阅读(143) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理