Skip to main content

Java Implementation of geometric shapes scenario using Object Oriented Programming Concepts OOP

In this assignment, you are asked to implement a simple project about geometric shapes such as a circle, rectangle, and square. All shapes must implement the following interface. While doing this project student should design classes actively with OOP concept. So the student must consider relations between classes such as, "is a" and "has a" relations and don't repeat methods that handle the same tasks. Because all shapes have common and different properties, students should consider abstract class, interface and overloading methods etc.

public interface IShape {
// area of a shape
public double area();
// distance between (0,0) and the point used to draw a shape
public double distanceToCoordinateCenter();
//rectangle is a full shape if: distanceToCoordinateCenter() > w+h
//circle is a full shape if: distanceToCoordinateCenter() > r
//square is a full shape if: distanceToCoordinateCenter() > w
// w is width, r is radius, h is height
public boolean isFullShape();
// returns "Circle", "Rectangle" or "Square"
public String thisIsa(IShape shape);
// Retruns data such as: width, radius and size(if it is a squar) etc.
public String propertiesOfShape( );
// Retruns shape ID.
public String shapeId();
}

Running

When the program is executed, there is a menu appeared with option (menu must be displayed with the JOpionPane class). The options are:


  • Create Random Shapes: creates random number of shapes include such as rectangle,circle and square. In the second step in this option, users have to input a number for total number shapes. Then algorithm decides speci c number of rectangles,squares and circles randomly.
  • Circles: creates only circles
  • Rectangles: creates rectangles only
  • Squares: creates squares only
  • Print All Shapes: Displays all shapes to the console. Please us "System.out.format()" method to get formatted output (see below).
  • Print Circles: Displays only circles.
  • Print Rectangles: Displays only Rectangles.
  • Print Squares: Displays only Squares
  • Exit: Exit from the program


When shapes a displayed, total number of listed shapes and the total area also have to be displayed. See below as an example (Out put of the "Print All Shapes" option):

CONTACT DETAILS

For any other questions or other tasks please feel free to contact me
via email: mhassnainjamil@gmail.com
via WhatsApp: +92-324-7042178
via skype: hassnainjamil1

Comments

Popular posts from this blog

The Zoo Management System - entity relationship diagram & MS Access Database

Zoo Management System - Project Details: You are the employee of a big, worldwide working Zoo Management Company. Your company is responsible for the Zoo management. Your boss thinks it would be a great idea to store all data for each Zoo in a brand new self-developed ZOO Management System. Up to now, the ZOO management company has maps of each ZOO available. Your boss knows that you took a course in introduction on an ERP system, so he asks you if you could help designing such a system. Each ZOO must have the same organizational structure, which should look like this: Each Zoo has a Zoo-Address. Each Zoo has many visitors (Visitor Ticket Process (VTP). Many Zoo-Attractions belong to a Zoo. Module 1: Entity Relationship Diagram Design a ER (entity-relationship) diagram for your ZOO Management System. Use the information provided below with the entities and its attributes. Put the entities in the correct relationship to each other (organizational structure). Module 2: DB Implem...

Human Physiology by Stuart Ira Fox [PDF] (12th edition) free download

Body Mass Index (BMI) calculator with JUnitTesting in Java

Introduction: Aitor Tilla S.L. clinic specializes on the endocrine treatment of people with diverse needs in relation to weight control. The clinic wants to launch a number of technological solutions (mobile app and web pages) that will allow its clients to have an effective monitoring of the dietary plans suggested by the clinic doctors. To this end, Aitor Tilla, S.L. requires to evolve the component that measures metrics for a healthy life developed during the previous guided exercises. The component will be reusable and will allow the calculation of new necessary metrics. The component will be developed in Java, J2EE platform, and will be delivered in a JAR format that will allow the access to the methods, and the programming interface that integrates with the mobile app and web pages. In addition, the code will be delivered with a user manual that explains programmers how the integration with other components should be done. The function to consider consists of characterizing the B...