Senin, 06 Maret 2017

Latihan 8.7 - 8.13

8.7

 public class date  
 {  
   private int month;  
   private int day;  
   private int year;  
   private static final int[] daysPermonth =  
   {0,31,28,31,30,31,30,31,31,30,31,30,31};  
   public date(int theMonth, int theDay, int theYear)  
   {  
     month = checkMonth(theMonth);  
     year = theYear;  
     day = checkDay(theDay);  
     System.out.printf(  
     "Date object constructor for date %s\n", this);  
   }  
   private int checkMonth( int testMonth)  
   {  
     if( testMonth > 0 && testMonth <= 12)  
     return testMonth;  
     else  
     throw new IllegalArgumentException("month must be 1-12");  
   }  
   private int checkDay(int testDay)  
   {  
     if(testDay > 0 && testDay <= daysPermonth[month])  
     return testDay;  
     if(month == 2 && testDay == 29 && (year % 400 == 0 || year % 4 == 0 && year % 100 != 0 ))  
     return testDay;  
     throw new IllegalArgumentException(  
     "day out-of-range for the specified month and year");  
   }  
   public String toString()  
   {  
     return String.format("%d%d%d",month,day,year);  
   }  
 }  

8.8

 public class Employee  
 {  
   private String firstName;  
   private String lastName;  
   private date birthDate;  
   private date hireDate;  
   public Employee( String first,String last, date dateOfBirth, date dateOfHire)  
   {  
     firstName = first;  
     lastName = last;  
     birthDate = dateOfBirth;  
     hireDate = dateOfHire;  
   }  
   public String toString()  
   {    return String.format("%s, %s Hired: %s Birthday: %s",  
     lastName,firstName,hireDate,birthDate);  
   }  
 }  

8.9

 public class EmployeeTest  
 {  
   public static void main( String[] args)  
   {  
     date birth = new date(7,24,1949);  
     date hire = new date(3,12,1988);  
     Employee employee = new Employee ("Bob", "Blue", birth, hire);  
     System.out.println(employee);  
   }  
 }  

8.10

 public enum Book  
 {  
   JHTP("Java How to Program","2012"),  
   CHTP("C how to Program","2007"),  
   IW3HTP("Internet & World Wide Wb How to Program","2008"),  
   CPPHTP("C++ How to Program","2012"),  
   VBHTP("Visual Basic 2010 How tto Program","2011"),  
   CSHARPHTP("Visual c# 2010 How to Program","2011");  
   private final String title;  
   private final String copyrightYear;  
   Book(String bookTitle, String year)  
   {  
     title = bookTitle;  
     copyrightYear = year;  
   }  
   public String getTitle()  
   {  
     return title;  
   }  
   public String getCopyrightYear()  
   {  
     return copyrightYear;  
   }  
 }  

8.11

 import java.util.EnumSet;  
 public class EnumTest  
 {  
   public static void main(String[] args)  
   {  
     System.out.println("All books:\n");  
     for(Book book : Book.values())  
     System.out.printf("%-10s%-45s%s\n",book,book.getTitle(), book.getCopyrightYear());  
     System.out.println("\ndisplay a range of enum constants:\n");  
     for(Book book : EnumSet.range(Book.JHTP,Book.CPPHTP))  
     System.out.printf("%-10s%-45s%s\n",book,book.getTitle(),book.getCopyrightYear());  
   }  
 }  

8.12


 public class Employee  
 {  
   private String firstName;  
   private String lastName;  
   private static int count = 0;  
   public Employee(String first, String last)  
   {  
     firstName = first;  
     lastName = last;  
     ++count;  
     System.out.printf("Employee constructor: %s %s; count = %d\n",  
     firstName,lastName, count);  
   }  
   public String getFirstName()  
   {  
     return firstName;  
   }  
   public String getLastName()  
   {  
     return lastName;  
   }  
   public static int getCount()  
   {  
     return count;  
   }  
 }  

8.13

 public class EmployeeTest  
 {  
   public static void main(String[]args)  
   {  
     System.out.printf("Employees before instantiation: %d\n",  
     Employee.getCount());  
     Employee e1 = new Employee("Susan","Baker");  
     Employee e2 = new Employee ("Bob","Blue");  
     System.out.println("\nEmployees after instantiation:");  
     System.out.printf("via e1.getCount(): %d\n", e1.getCount());  
     System.out.printf("via e2.getCount(): %d\n", e2.getCount());  
     System.out.printf("via Employee.getCount(): %d\n",  
     Employee.getCount());  
     System.out.printf("\nEmployee 1: %s %s\nEmployee 2: %s %s\n",  
     e1.getFirstName(), e1.getLastName(),  
     e2.getFirstName(), e2.getLastName());  
     e1 = null;  
     e2 = null;  
   }  
 }  

Tidak ada komentar:

Posting Komentar