Advertisement
bdfall

asdads

Sep 20th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package StudentSubject;
  2.  
  3. /* Write a program to define an abstract class Shapes. The Shapes class will be inherited by Circle and Rectangle classes.
  4.  * Circle and Rectangle will add and implement the abstract methods to calculate their areas and Perimeter.
  5.  * There will be a display() method, which will display the dimensions, area and perimenter of respective Shapes.
  6.  * Please use the below class diagram:
  7.  *
  8.  *  -------------------------------
  9.  *  | Shape :Abstract             |
  10.  *  -------------------------------
  11.  *  | # height: double            |
  12.  *  | # width: double             |
  13.  *  | # radius : double           |
  14.  *  | # areaVal: double           |
  15.  *  | # perimeterVal: double      |
  16.  *  -------------------------------
  17.  *  | + Area():void               |
  18.  *  | + Perimeter():void          |
  19.  *  | + Display():void            |
  20.  *  -------------------------------
  21.  *           |                         \
  22.  *           |                          \
  23.  *           |                           \    
  24.  *  -------------------------------        -------------------------------
  25.  *  | Circle                      |        | Rectangle                   |
  26.  *  -------------------------------        -------------------------------
  27.  *  | + Circle()                  |        | + Rectangle()               |
  28.  *  | + Circle(double, double)    |        | + Rectangle(double, double) |
  29.  *  | + Area(): void              |        | + Area(): void              |
  30.  *  | + Perimeter(): void         |        | + Perimeter(): void         |
  31.  *  | + Display(): void           |        | + Display(): void           |
  32.  *  -------------------------------        -------------------------------
  33.  *
  34.  * Hint:
  35.  * 1. For area of circle use Math.PI, Area = PI*radius*radius
  36.  * 2. Perimeter of circle = 2 * PI * radius
  37.  * 3. Area of rectangle = height * width
  38.  * 4. Perimeter of rectangle = 2(height + width)
  39.  * 5. Check the main method before creating the Shapes, Circle and Rectangle class
  40.  * 6. # means protected access
  41.  *  
  42.  */
  43. public class Week8Program1 {
  44.  
  45.     public static void main(String[] args) {
  46.         // Create Shape objects
  47.         Circle circle = new Circle(4.0);
  48.         Rectangle rectangle = new Rectangle(5.0,4.0);
  49.        
  50.         // Calculate the area and perimenter of Circle and Rectangle
  51.         circle.area();
  52.         circle.perimeter();
  53.        
  54.         rectangle.area();
  55.         rectangle.perimeter();
  56.        
  57.         // Display the dimensions, area and perimeter of Circle and Rectangle
  58.         circle.display();
  59.         rectangle.display();
  60.     }
  61. }
  62.  
  63. //Define the abstract Shapes class
  64. abstract class Shapes{
  65.  
  66.     protected double height;
  67.     protected double width;
  68.     protected double radius;
  69.    
  70.     protected double areaVal;
  71.     protected double perimeterVal;
  72.    
  73.     abstract void area();
  74.     abstract void perimeter(); 
  75. }
  76.  
  77. //Define Circle class which extends Shapes
  78. class Circle extends Shapes{
  79.    
  80.     // Complete the code to define constructors
  81.     Circle(){
  82.        
  83.     }
  84.    
  85.     Circle(double radius){
  86.         this.radius = radius;
  87.     }
  88.    
  89.     // Complete the code to define Area, Perimenter and Display methods
  90.     void area(){
  91.         this.areaVal = Math.PI * Math.pow(radius, 2)   ;
  92.     }
  93.    
  94.     void perimeter(){
  95.         this.perimeterVal =2 * Math.PI * radius ;
  96.     }
  97.    
  98.     void display(){
  99.         System.out.println("The Radius of Circle is: "+this.radius);
  100.         System.out.println("Area of the Circle is: "+this.areaVal);
  101.         System.out.println("Perimeter of the Circle is: "+this.perimeterVal);
  102.     }
  103. }
  104.  
  105. //Complete the code to define Circle class which extends Shapes
  106. // 1. Define two constructors
  107. // 2. Define the Area, Perimeter and Display method
  108. // Hint: Refer to the Circle if required
  109. class Rectangle extends Shapes{
  110.    
  111.     Rectangle(double a, double b)
  112.     {
  113.         this.height = a;
  114.         this.width = b;
  115.     }
  116.  
  117.     void area(){
  118.         this.areaVal = height * width ;
  119.     }
  120.    
  121.     void perimeter(){
  122.         this.perimeterVal = 2 * (height + width) ;
  123.     }
  124.    
  125.     void display(){
  126.         System.out.println("The height & width of Rectangle is: ("+this.height + " ," + this.width + ")" );
  127.         System.out.println("Area of the Rectangle is: "+this.areaVal);
  128.         System.out.println("Perimeter of the Rectangle is: "+this.perimeterVal);
  129.     }
  130.    
  131. }
  132.  
  133. /* The program should produce the following result
  134. * Test case 1:
  135. * Initialize the circle with radius: 4
  136. * Initialize the rectangle with ht and wd: 5, 4
  137. *
  138. * Expected output:
  139. * The Radius of Circle is: 4.0
  140. * Area of the Circle is: 50.26548245743669
  141. * Perimeter of the Circle is: 25.132741228718345
  142. *
  143. * The height and width of Rectangle is: (5.0 ,4.0)
  144. * Area of the Rectangle is: 20.0
  145. * Perimeter of the Rectangle is: 18.0
  146. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement