Consider the following Rectangle Class: public class Rectangle { private int width; private int length; public void Rectangle (int w, int len) { width = w; length = len; } /** * if width or length is less than 1 return -1 otherwise return the width * length */ public double findArea() { // code to implement findArea //.... } } What is the output of the following code snippet? Explain your answer. Rectangle r1 = new Rectangle (3, 0); System.out.println(r1.findArea());

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

java

### QUESTION 17

Consider the following `Rectangle` Class:

```java
public class Rectangle {

    private int width;
    private int length;

    public void Rectangle(int w , int len) {
        width = w;
        length = len;
    }

    /**
     * if width or length is less than 1 return -1
     * otherwise return the width * length
     */
    public double findArea() {
        // code to implement findArea
        // ..............
    }
}
```

**What is the output of the following code snippet? Explain your answer.**

```java
Rectangle r1 = new Rectangle(3, 0);
System.out.println(r1.findArea());
```

### Explanation:

In this question, we have a `Rectangle` class with two private data members `width` and `length`. The constructor, named `Rectangle`, initializes these data members. The `findArea` method is supposed to calculate the area of the rectangle and return it. If either `width` or `length` is less than 1, it should return `-1`, otherwise, it should return the product of `width` and `length`.

However, there is an issue:

1. **Constructor Implementation Issue**:
   - The constructor is defined as `public void Rectangle(int w, int len)` which makes it a method, not a constructor. Constructors do not have a return type.
   - To correct it, the constructor should be defined as:
     ```java
     public Rectangle(int w, int len) {
         width = w;
         length = len;
     }
     ```

2. **In the `findArea` method**, the implementation for calculating and returning the area is missing. It should be implemented as per the given specification:
   ```java
   public double findArea() {
       if (width < 1 || length < 1) {
           return -1;
       } else {
           return width * length;
       }
   }
   ```

Given the current state of the `Rectangle` class in the question, attempting to instantiate it and call `findArea` using the following code:
```java
Rectangle r1 = new Rectangle(3, 0);
System.out.println(r1.findArea());
```

This would lead to errors because:
- `Rectangle` is not properly instantiated due to the incorrect constructor.
- `findArea` method is not implemented.

**Correcting the
Transcribed Image Text:### QUESTION 17 Consider the following `Rectangle` Class: ```java public class Rectangle { private int width; private int length; public void Rectangle(int w , int len) { width = w; length = len; } /** * if width or length is less than 1 return -1 * otherwise return the width * length */ public double findArea() { // code to implement findArea // .............. } } ``` **What is the output of the following code snippet? Explain your answer.** ```java Rectangle r1 = new Rectangle(3, 0); System.out.println(r1.findArea()); ``` ### Explanation: In this question, we have a `Rectangle` class with two private data members `width` and `length`. The constructor, named `Rectangle`, initializes these data members. The `findArea` method is supposed to calculate the area of the rectangle and return it. If either `width` or `length` is less than 1, it should return `-1`, otherwise, it should return the product of `width` and `length`. However, there is an issue: 1. **Constructor Implementation Issue**: - The constructor is defined as `public void Rectangle(int w, int len)` which makes it a method, not a constructor. Constructors do not have a return type. - To correct it, the constructor should be defined as: ```java public Rectangle(int w, int len) { width = w; length = len; } ``` 2. **In the `findArea` method**, the implementation for calculating and returning the area is missing. It should be implemented as per the given specification: ```java public double findArea() { if (width < 1 || length < 1) { return -1; } else { return width * length; } } ``` Given the current state of the `Rectangle` class in the question, attempting to instantiate it and call `findArea` using the following code: ```java Rectangle r1 = new Rectangle(3, 0); System.out.println(r1.findArea()); ``` This would lead to errors because: - `Rectangle` is not properly instantiated due to the incorrect constructor. - `findArea` method is not implemented. **Correcting the
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Introduction to computer system
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education