Forum Stats

  • 3,838,748 Users
  • 2,262,397 Discussions
  • 7,900,749 Comments

Discussions

Can someone help me with equals()?

4103375
4103375 Member Posts: 1
edited Oct 9, 2019 7:57AM in Java Programming

Im new at Java so i dont understand too much. Im studing computer engineering and our teacher asked us to complete the followin code:

// Represents a rectangle

public class Rectangle {

// Initializes a new rectangle with the values passed by parameter .

// Throws IllegalArgumentException if a a negative value is passed to any of

// the dimensions .

public Rectangle ( int base , int height ) { }

// Copy constructor

public Rectangle ( Rectangle r ) { }

// Getters

public int getBase () { }

public int getHeight () { }

// Setters . Throw IllegalArgumentException if the parameters are negative .

public void setBase ( int base ) { }

public void setHeight ( int height ) { }

// Return true if the rectangle is a square

public boolean isSquare () { }

// Calculate the area of the rectangle .

public int area () { }

// Calculate the perimeter of the rectangle .

public int perimeter () { }

// Calculate the length of the diagonal

public double diagonal () { }

// Turn this rectangle 90 degrees ( changing base by height ).

public void turn () { } // Ensure that this rectangle is oriented horizontally ( the base is greater // or equal than the height ).

public void putHorizontal () { } // Ensure that this rectangle is oriented vertically ( the height is greater // or equal than the base ).

public void putVertical () { }

// Two rectangles are equal if the base and the height are the same . // It does not take into account if the rectangle is rotated .

public boolean equals ( Object obj ) { }

// It complies with the hashCode contract and is consistent with the equals .

public int hashCode () { } }

I made it to the followin point:

package e3;

   // Represents a rectangle

public class Rectangle {

    private int height;

    private int base;

// Initializes a new rectangle with the values passed by parameter .

// Throws IllegalArgumentException if a a negative value is passed to any of

// the dimensions .

public Rectangle ( int base , int height ) {

    if (base <= 0 || height <= 0) {

        throw new IllegalArgumentException();

        }

    this.base=base;

    this.height=height;

}

// Copy constructor

public Rectangle ( Rectangle r ) {

    this.base=r.base;

    this.height=r.height;

}

// Getters

public int getBase () {

return base;

}

public int getHeight () {

return height;

}

// Setters . Throw IllegalArgumentException if the parameters are negative .

public void setBase ( int base ) {

    if (base < 0) {

        throw new IllegalArgumentException();

        }

     this.base = base;

}

public void setHeight ( int height ) {

   

    if ( height < 0) {

        throw new IllegalArgumentException();

        }

    this.height = height;

}

// Return true if the rectangle is a square

public boolean isSquare () {

    if(height==base){

    return true;

    }

    return false;

}

// Calculate the area of the rectangle .

public int area () {

    int area;

    area = base*height;

    return area;

   

}

// Calculate the perimeter of the rectangle .

public int perimeter () {

    int perimeter;

    perimeter =(2*height)+(2*base);

    return perimeter;

}

// Calculate the length of the diagonal

public double diagonal () {

    int a;

    double diagonal;

    a=((base*base)+(height*height));

    diagonal = Math.sqrt(a);

    return diagonal;

}

// Turn this rectangle 90 degrees ( changing base by height ).

public void turn () {

    int aux;

    aux=base;

    base=height;

    height=aux;  

}

// Ensure that this rectangle is oriented horizontally ( the base is greater

// or equal than the height ).

public void putHorizontal () {

    if (base<height){

        int aux;

        aux=base;

        base=height;

        height=aux;

    }

}

// Ensure that this rectangle is oriented vertically ( the height is greater

// or equal than the base ).

public void putVertical () {

    if (height<base){

        int aux;

        aux=base;

        base=height;

        height=aux;

    }

}

// Two rectangles are equal if the base and the height are the same .

// It does not take into account if the rectangle is rotated .

@Override

public boolean equals ( Object obj ) {

Rectangle r=(Rectangle)obj;

return r.getBase().equals(this.getBase());

  

}

// It complies with the hashCode contract and is consistent with the equals .

public int hashCode () {

    return 0;

}

}

But i cannot understand the behaviour of the method equals() so i dont know how to continue. Can anyone help me? thank you.

Tagged:

Answers