Free Essay

Java Class Shape

In: Computers and Technology

Submitted By bing0111
Words 704
Pages 3
Shape class
/** * This is a class that represent any shape. This is the superclass of all shapes. * @author yklam2 * */ public class Shape { private boolean canvas[][]; private int width; private int height; /** * Create an empty shape. */ public Shape() { this(0, 0); } /** * Create a shape with a specific <code>width</code> and <code>height</code>. * @param width The <code>width</code> of this shape. * @param height The <code>height</code> of this shape. */ protected Shape(int width, int height) { this.width = width; this.height = height; canvas = new boolean[height][width]; } /** * Set a pixel * @param row The <code>row</code> of the pixel. * @param column The <code>column</code> of the pixel. */ protected void setPixel(int row, int column) { if(row >=0 && row < height && column >=0 && column < width) canvas[row][column] = true; } /** * Clear a pixel * @param row The <code>row</code> of the pixel. * @param column The <code>column</code> of the pixel. */ protected void clearPixel(int row, int column) { if(row >=0 && row < height && column >=0 && column < width) canvas[row][column] = false; } /** * Get the area of this shape. Area is the number of pixel set in this * @return The area. */ public int getArea() { int area = 0;

shape.

for(boolean [] row: canvas) for(boolean pixel: row) if(pixel) ++area; } return area;

/* (non-Javadoc) * @see java.lang.Object#toString() */ public String toString() { String drawing = ""; for(boolean [] row: canvas) { if(drawing.length() > 0) // Cross platform newline drawing = drawing + System.lineSeparator(); for(boolean pixel: row) { drawing = drawing + (pixel?"*":" "); } } return drawing;

}

/** * Union this shape with another shape. * @param s The shape to union with * @return A new shape after the operation */ public Shape union(Shape s) { // Create new shape Shape newShape = new Shape(Math.max(this.width, s.width), Math.max(this.height, s.height)); // Copy to new shape for(int row=0; row<this.height; ++row) { for(int col=0; col<this.width; ++col) { newShape.canvas[row][col] = this.canvas[row][col]; } } // Union with the other shape for(int row=0; row<s.height; ++row) { for(int col=0; col<s.width; ++col) { newShape.canvas[row][col] |= s.canvas[row][col]; } } return newShape; } /** * Intersect this shape with another shape. * @param s The shape to intersect with * @return A new shape after the operation */ public Shape intersect(Shape s) { // Create new shape

Shape newShape = new Shape(Math.min(this.width, s.width), Math.min(this.height, s.height)); // Copy to new shape for(int row=0; row<Math.min(this.height, newShape.height); ++row) { for(int col=0; col<Math.min(this.width, newShape.width); ++col) { newShape.canvas[row][col] = this.canvas[row][col]; } } int lastRow = -1; int lastCol = -1; // Intersect with the other shape for(int row=0; row<Math.min(s.height, newShape.height); ++row) { for(int col=0; col<Math.min(s.width, newShape.width); ++col) { newShape.canvas[row][col] &= s.canvas[row][col]; if(newShape.canvas[row][col]) { if(lastRow < row) lastRow = row; if(lastCol < col) lastCol = col; } } } // Set the correct width and height this.width = lastCol+1; this.height = lastRow+1; return newShape;

}

}

Rectangle
/** * This is a class that represents a rectangle. * @author yklam2 * */public class Rectangle extends Shape { /** * Create an object that represents a rectangle with a specific <code>width</code> and <code>height</code>. * @param width The <code>width</code> of the rectangle. * @param height The <code>height</code> of the rectangle. */ public Rectangle(int width, int height) { super(width, height); for(int row=0; row<height; ++row) { for(int col=0; col<width; ++col) { setPixel(row, col); }

}

}

}

Diamond

/** * This is a class that represents a diamond shape. * @author yklam2 * */ public class Diamond extends Shape { /** * Create an object that represents a diamond with a specific <code>size</code>. * @param size The <code>size</code> of the diamond. */ public Diamond(int size) { super(2*size-1, 2*size-1); for(int row=0; row<2*size-1; ++row) { int offset = Math.abs(size-1-row); for(int col=0; col<2*(size-offset)-1; ++col) { setPixel(row, col+offset); } } } } Square /** * This is a class that represents a square. * @author yklam2 * */ public class Square extends Rectangle { /** * Create an object that represents a square with a specific <code>size</code>. * @param size The <code>size</code> of the square. */ public Square(int size) { super(size, size); } }…...

Similar Documents

Free Essay

Java Basics

...1 Learn Java/J2EE core concepts and key areas With Java/J2EE Job Interview Companion By K.Arulkumaran & A.Sivayini Technical Reviewers Craig Malone Stuart Watson Arulazi Dhesiaseelan Lara D’Albreo Cover Design, Layout, & Editing A.Sivayini Acknowledgements A. Sivayini Mr. & Mrs. R. Kumaraswamipillai 2 Java/J2EE Job Interview Companion Copy Right 2005-2007 ISBN 978-1-4116-6824-9 The author has made every effort in the preparation of this book to ensure the accuracy of the information. However, information in this book is sold without warranty either expressed or implied. The author will not be held liable for any damages caused or alleged to be caused either directly or indirectly by this book. Please e-mail feedback & corrections (technical, grammatical and/or spelling) to java-interview@hotmail.com First Edition (220+ Q&A): Dec 2005 Second Edition (400+ Q&A): March 2007 3 Outline SECTION DESCRIPTION What this book will do for you? Motivation for this book Key Areas index SECTION 1 Interview questions and answers on: Java Fundamentals Swing Applet Performance and Memory issues Personal and Behavioral/Situational Behaving right in an interview Key Points SECTION 2 Interview questions and answers on: Enterprise Java J2EE Overview Servlet JSP JDBC / JTA JNDI / LDAP RMI EJB JMS XML SQL, Database, and O/R mapping RUP & UML Struts Web and Application servers. Best practices and performance considerations. Testing and deployment. Personal......

Words: 23255 - Pages: 94

Premium Essay

Java

...tutorial explains the installation and usage of the Java programming language. It also contains examples for standard programming tasks. 1. Introduction to Java 1.1. History Java is a programming language created by James Gosling from Sun Microsystems in 1991. The first publicly available version of Java (Java 1.0) was released in 1995. Over time new enhanced versions of Java have been released. The current version of Java is Java 1.7 which is also known as Java 7. From the Java programming language the Java platform evolved. The Java platform allows that the program code is written in other languages than the Java programming language and still runs on the Java virtual machine. 1.2. Java Virtual machine The Java virtual machine (JVM) is a software implementation of a computer that executes programs like a real machine. The Java virtual machine is written specifically for a specific operating system, e.g. for Linux a special implementation is required as well as for Windows. Java programs are compiled by the Java compiler into so-called bytecode. The Java virtual machine interprets this bytecode and executes the Java program. 1.3. Java Runtime Environment vs. Java Development Kit Java comes in two flavors, the Java Runtime Environment (JRE) and the Java Development Kit (JDK). The Java runtime environment (JRE) consists of the JVM and the Java class libraries and contains the necessary functionality to start Java programs. The JDK contains in......

Words: 662 - Pages: 3

Free Essay

Java Ring

...access any door or computer program. Dallas Semiconductor is developing a new Java-based, computerized ring that will automatically unlock doors and log on to computers. This mobile computer can become even more secure. You can keep the iButton with you wherever you go by wearing it as a closely guarded accessory - a watch, a key chain, a wallet, a ring - something you have spend your entire life practising how not to lose. Here are a few reasons why you might want to wear the iButton in the accessory that best fits your life style : ◆ It is a safe place to keep the private keys to conduct transactions. ◆ It overcomes the deficiencies of the secret password. ◆ You eliminate keystroke with a quick, intentional press of the Blue Dot. ◆ You keep your computer at hand versus lugging your everywhere you roam ◆ You become part of the network economy ◆ This steel-bound credential stands up to the hard knocks of everyday wear, including sessions in the swimming pool or clothes washer What is Java Ring? A Java Ring is a finger ring that contains a small microprocessor with built-in capabilities for the user, a sort of smart card that is wearable on a finger. Sun Microsystem's Java Ring was introduced at their JavaOne Conference in 1998 and, instead of a gemstone, contained an inexpensive microprocessor in a stainless-steel iButton running a Java virtual machine and preloaded with applets (little application......

Words: 7793 - Pages: 32

Premium Essay

Java Class

...Java Class MIS 304 is not a class for everyone. Not just any student should take the class. This class is structured to assist students in learning how to program using the Java language. This class does not make a student an expert in the language of Java, but instead gives the student the basic fundamentals needed to have practical use of the language and gives them a solid foundation upon which they can build if they choose to do so. The material covered in the class is adequate. Java can be a complex language to learn, but in MIS 304 one is taught the basics and nothing too detailed or complicated. The resources that are given to the students are very good. I know that the Java book used for the class is one of the best reference materials on Java that is on the market today. The lab facilities and proctors are also great resources. The only problem I feel that exists is that students don’t take advantage of the resources they have available. Students hardly look through their book for answering questions they might have. Also students hardly even bring their books to the lab when doing programs. They sometimes look for proctors to fix their problems instead of fixing it themselves. I think it should be emphasized to students that the proctors are not their to do the programs for them, but to rather help them figure out what is going wrong in their programs. Also it should be emphasized that the book should be with them when working on programs so that if questions......

Words: 2075 - Pages: 9

Free Essay

Java

...© Prentice Hall and Sun Microsystems. Personal use only; do not redistribute. JSP Scripting Chapter Elements Topics in This Chapter • The purpose of JSP • How JSP pages are invoked • Using JSP expressions to insert dynamic results directly into the output page • Using JSP scriptlets to insert Java code into the method that handles requests for the page • Using JSP declarations to add methods and field declarations to the servlet that corresponds to the JSP page • Predefined variables that can be used within expressions and scriptlets Online version of this first edition of Core Servlets and JavaServer Pages is free for personal use. For more information, please see: • • • Second edition of the book: http://www.coreservlets.com. Sequel: http://www.moreservlets.com. Servlet and JSP training courses from the author: http://courses.coreservlets.com. © Prentice Hall and Sun Microsystems. Personal use only; do not redistribute. Chapter avaServer Pages (JSP) technology enables you to mix regular, static HTML with dynamically generated content from servlets. You simply write the regular HTML in the normal manner, using familiar Web-page-building tools. You then enclose the code for the dynamic parts in special tags, most of which start with . For example, here is a section of a JSP page that results in “Thanks for ordering Core Web Programming” for a URL of http://host/OrderConfirmation.jsp?title=Core+Web+Programming: Thanks for ordering J Separating......

Words: 1383 - Pages: 6

Premium Essay

Java

...Mohammad Doush Mr. Matthew Robert English 103 13 April 2013 Java the Programming Language Computer is very important in our live, we use computer in everywhere on our live. The doctor uses the computer to see file or pictures of his patients. Also, each engineer uses it in many ways of his work. The teacher in the classroom, employees in the offices and student in their study all of them use computer in them daily live. They are not using the mouse, the keyboard or the scream. They are using the applications by them these applications in the computer are like the soul in the body. The only way to build these applications is programming. To program we need to know one of the programming languages which are very similar each other. If you are professional in one of these languages you can be professional in the other language in a short period of time. It is acceptable if you have the same application written with Java once and with C++ or C sharp at the same time. So for this reason you cannot say that a programming language is better than others. There are three types of programming languages procedural, functional and object-oriented languages. The most uses of these languages are object-oriented and one of these languages is Java you can write any application you need using it. Also you can translate any application to its word. The message of the High-Level programming languages such as Algol and Pascal in first programming revolution was...

Words: 2352 - Pages: 10

Free Essay

Java

...Eclipse and Java for Total Beginners Tutorial Companion Document Eclipse And Java For Total Beginners Companion Tutorial Document By Mark Dexter Table of Contents Introduction........................................................................................................... .............................2 . Tutorial Target Audience.....................................................................................................................2 Tutorial Objectives..............................................................................................................................2 Why learn Java with Eclipse?.............................................................................................................3 Topics Covered...................................................................................................................................3 Tutorial Approach............................................................................................................... ................3 . Getting The Most From This Tutorial..................................................................................................3 Sample Java Application – Personal Lending Library........................................................................4 Downloading and Installing Eclipse ...................................................................................................4 Playing the Lessons...........................

Words: 7556 - Pages: 31

Premium Essay

Java for Dummies

...Programming Languages/Java ™ Jumpin’ Java! The bestselling Java beginner’s book is now fully updated for Java 7! Open the book and find: ava J • Definitions of the many terms you’ll encounter ® • The grammar of Java • How to save time by reusing code • All about if, for, switch, and while statements • An overview of object-oriented programming • Building blocks — learn to work with Java classes and methods and add comments • Hints about handling exceptions • How to write Java applets ® • The Java scoop — get an overview of Java, the enhancements in Java 7, and the software tools you need • Get loopy — understand the value of variables and learn to control program flow with loops or decision-making statements 5th Edition 5th Edition Java Java, the object-oriented programming language that works on almost any computer, is what powers many of those cool multimedia applications. Thousands have learned Java programming from previous editions of this book — now it’s your turn! Whether you’re new to programming or already know a little Visual Basic or C++, you’ll be doing Java in a jiffy. g Easier! Making Everythin • Ten ways to avoid mistakes • Class it up — explore classes and objects, constructors, and subclasses, and see how to reuse your code • A click ahead — experiment with variables and methods, use arrays and collections to juggle values, and create programs that respond to mouse clicks Learn...

Words: 34460 - Pages: 138

Free Essay

Shape

...SHAPE Student Name Course Name & Number Instructor’s Name Date Submitted SHAPE As I read about the SHAPE theory I tried to relate to the five factors that it signifies. The initial questions that occurred to me were “Why was it important to be Self- aware?” and “Will I be able to assess myself in an unbiased manner and identify these factors within me?”. I always knew about Spiritual Gifts but never had I tried to identify one within myself. Although I identify myself as a Christian , I am not sure if I have correctly identified that unique gift that The Holy Spirit has bestowed upon me ,but I have certainly understood the concept of not confusing it with a talent. After hours of deep introspection I zeroed down to the conclusion that Honesty and Self-reliance are my spiritual gifts. As I read further , I read “He puts a natural inclination in everyone’s heart towards certain things and this is the reason why we feel deeply about some things.” I quickly related to this aspect as I know that discovering the ministry that your heart is inclined for is extremely essential for a fulfilled life. He himself chooses us for certain things. Identifying my Ability was not a very difficult task as I have always been aware of my Leadership Skills. I have been particularly good at forming teams and accomplishing tasks and I thank my peers and parents for helping me develop this skill further. When I read the fourth aspect Personality I related it to the third aspect......

Words: 456 - Pages: 2

Premium Essay

Java

...A Comparison between Java and .Net Languages Introduction Java and .Net provide technologies that enable skilled developers to build quality enterprise applications. These technologies are rarely picked based on performance alone. There are many factors to consider when choosing Java or .Net. These considerations are often the deciding factor when choosing one or both of these platforms. Java Java is kenned as both a programming language and a development platform. It was first developed by Sun Microsystems in 1991 and subsequently relinquished in 1995. To help to make the language more accepted and accessible, Sun Microsystems developed it as an object oriented language with a syntax that is very similar to C++. (Java vs. .NET, 2007) Sun Microsystems decided to create this new platform out of a desire to be able to write programs only once that could be run on any system. (James) The Java 2 platform was launched in December 1998. This was a major amelioration of the platform, and included incipient graphics, user interface, and enterprise capabilities. This upgrade was over seven times as large as the initial Java 1.0 release and marked the maturity of the Java platform. (What is java?) Within the Java 2 platform there are 3 editions: • The Java 2 Standard Edition (J2SE) Provides the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications. • The Java 2 Enterprise Edition (J2EE) Defines a standard for developing......

Words: 2279 - Pages: 10

Premium Essay

Java

...Introduction to the Java Programming Language Material drawn from [JDK99,Sun96,Mitchell99,Mancoridis00] Software Design (Java Tutorial) © SERG Java Features • “Write Once, Run Anywhere.” • Portability is possible because of Java virtual machine technology: – Interpreted – JIT Compilers • Similar to C++, but “cleaner”: – No pointers, typedef, preprocessor, structs, unions, multiple inheritance, goto, operator overloading, automatic coercions, free. Software Design (Java Tutorial) © SERG Java Subset for this Course • We will focus on a subset of the language that will allow us to develop a distributed application using CORBA. • Input and output will be character (terminal) based. • For detailed treatment of Java visit: – http://java.sun.com/docs/books/tutorial/index.html Software Design (Java Tutorial) © SERG Java Virtual Machine • Java programs run on a Java Virtual Machine. • Features: – – – – – Security Portability Superior dynamic resource management Resource location transparency Automatic garbage collection Software Design (Java Tutorial) © SERG The Java Environment Java Source File (*.java) Java Compiler (javac) Java Bytecode File (*.class) Java Virtual Machine (java) Software Design (Java Tutorial) © SERG Program Organization Source Files (.java) Running Application Running Applet JAVA BYTECODE COMPILER Class Files (.class) JAVA VIRTUAL MACHINE WEB BROWSER Software Design (Java Tutorial) © SERG Program Organization Standards • Each class is......

Words: 5230 - Pages: 21

Free Essay

Java

...1. Lab Exercise for Core Java Section A: a) Write a program to find HCF of two number reading inputs as command line argument. b) Write a program to display all prime numbers between two limits. c) Write a program to implement below diamond pattern. * *** ***** d) Write a program to implement string concatenation, finding string length, find sub string and check the given string is palindrome or not? e) Write a program to implement constructor overloading by passing different number of parameter of different types. f) Write a program to find area of Square and rectangle figures using method. g) Write a program to calculate bonus for different departments using method overriding. h) Write a program to perform the different arithmetic operation show the exception handling. i) Write a program to implement thread priorities. j) Write a program to create a linked list using LinkedList class of Collection Framework k) Write a program, to create a Frame Window in an applet. l) Write a program to create simple student registration using applet, read the input using text boxes and display the output once user click on the button. m) Write a program to draw different polygon by using AWT supported Graphics method n) Write a program to implement the appropriate interface in the key listener so that it will receive the type of event. ASSIGNMENT EXCEPTION Exception and exception handling -introduction, types of......

Words: 275 - Pages: 2

Premium Essay

Java

...Release Team[oR] 2001 [x] java Java 2: The Complete Reference by Patrick Naughton and Herbert Schildt Osborne/McGraw-Hill © 1999, 1108 pages ISBN: 0072119764 This thorough reference reads like a helpful friend. Includes servlets, Swing, and more. Table of Contents Back Cover Synopsis by Rebecca Rohan Java 2: The Complete Reference blends the expertise found in Java 1: The Complete Reference with Java 2 topics such as "servlets" and "Swing." As before, there's help with Java Beans and migrating from C++ to Java. A special chapter gives networking basics and breaks out networking-related classes. This book helps you master techniques by doing as well as reading. Projects include a multi-player word game with attention paid to network security. The book is updated where appropriate throughout, and the rhythm of text, code, tables, and illustrations is superb. It's a valuable resource for the developer who is elbow-deep in demanding projects. Table of Contents Java 2 Preface - 7 Part l The Java Language - The Complete Reference - 4 Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 hapter 10 - The Genesis of Java - 9 - An Overview of Java - 20 - Data Types, Variables, and Arrays - 36 - Operators - 57 - Control Statements - 75 - Introducing Classes - 94 - A Closer Look at Methods and Classes - 111 - Inheritance - 134 - Packages and Interfaces - 156 - Exception Handling - 174 Chapter 11 - Multithreaded......

Words: 78285 - Pages: 314

Premium Essay

Java

...November 30, 2011 Java Security Jessica Shaw: 628 Robert Grimsley: 596 Java is a programming language developed by Sun Microsystems in 1995, which is now called Oracle. The language itself is derived from the languages C and C++. Java is a simple language compared to C and C++; however they are all object-oriented languages. The language was designed to help minimize the amount of space and take up as little of your computer’s hardware resources as possible. The language was designed upon five key goals, and they are as followed: * It should be "simple, object-oriented and familiar" * It should be "robust and secure" * It should be "architecture-neutral and portable" * It should execute with "high performance" * It should be "interpreted, threaded, and dynamic" Java is used for a multitude of things. Java allows one to play virtual video games, view and design 3D photos, and many other interactive topics on the internet. Java is the main programming language for mobile devices as well as smart phones such as Android by google. Java is a very secure and reliable language that is used by over 800 billion people. Without the Java languages there are millions of applets and interactive applications on websites that wouldn’t preform properly without it. Java is compiled by byte code that allows for the program to be run through the Java Virtual Machine, or JVM. The compiling method allows......

Words: 2557 - Pages: 11

Premium Essay

Java

...JMaster list of Java interview questions - 115 questions By admin | July 18, 2005 115 questions total, not for the weak. Covers everything from basics to JDBC connectivity, AWT and JSP. 1. What is the difference between procedural and object-oriented programs?- a) In procedural program, programming logic follows certain procedures and the instructions are executed one after another. In OOP program, unit of program is object, which is nothing but combination of data and code. b) In procedural program, data is exposed to the whole program whereas in OOPs program, it is accessible with in the object and which in turn assures the security of the code. 2. What are Encapsulation, Inheritance and Polymorphism?- Encapsulation is the mechanism that binds together code and data it manipulates and keeps both safe from outside interference and misuse. Inheritance is the process by which one object acquires the properties of another object. Polymorphism is the feature that allows one interface to be used for general class actions. 3. What is the difference between Assignment and Initialization?- Assignment can be done as many times as desired whereas initialization can be done only once. 4. What is OOPs?- Object oriented programming organizes a program around its data, i. e. , objects and a set of well defined interfaces to that data. An object-oriented program can be characterized as data controlling 5. access to code. What are Class,......

Words: 6762 - Pages: 28

James Spader | YFCAD Product Activa | [share_ebook] Scientific Criteria to Ensure Safe Food - Committee On The Review Of The Use Of Scientific Criteria