7-2 矩形类测试-TestRectangle (pta java 以下是矩形测试主类,请不要修改main方法也不要在主类中添加其他方法。有n组测试用例。 每组测试用例从标准输入读取一行四个整数到w)

以下是矩形测试主类,请不要修改main方法也不要在主类中添加其他方法。你只需要复制主类代码并补充其他类的定义,使其通过主类的测试。详见main方法代码及注释。

输入格式:

有n组测试用例。 每组测试用例从标准输入读取一行四个整数到w1,h1,w2,h2,分别表示两个矩形的宽和高。

输出格式:

对每一组输入,在一行中分别输出该矩形的周长和面积以及判断两个对象是否相等。 请参考main方法代码及样例输出。

输入样例:

在这里给出一组输入。例如:

10 20 30 40

输出样例:

在这里给出相应的输出。例如:

Rectangle(10,20):Perimeter=    60    Area=   200    Rectangle(30,40):Perimeter=   140    Area=  1200    Equals=false

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int w1 = sc.nextInt();
            int h1 = sc.nextInt();
            int w2 = sc.nextInt();
            int h2 = sc.nextInt();
            Rectangle r1 = new Rectangle(w1, h1);
            Rectangle r2 = new Rectangle();
            r2.setWidth(w2);
            r2.setHeight(h2);
            System.out.printf(r1 + ":Perimeter=%6d\t", r1.getPerimeter());
            System.out.printf("Area=%6d\t", r1.getArea());
            System.out.printf(r2 + ":Perimeter=%6d\t", r2.getPerimeter());
            System.out.printf("Area=%6d\t", r2.getArea());
            System.out.printf("Equals=%b\n", r1.equals(r2));
        }
    }
}

class Rectangle{

    private int width;
    private int height;
    private int perimeter;
    private int area;

    public Rectangle() {
    }

    public Rectangle(int width, int height) {
        this.width = width;
        this.height = height;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getPerimeter() {
        perimeter = 2*(width+height);
        return perimeter;
    }

    public int getArea() {
        area = width*height;
        return area;
    }

    @Override
    public String toString() {
        return "Rectangle(" +
                 + width +
                "," + height +
                ')';
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Rectangle rectangle = (Rectangle) o;
        return width == rectangle.width &&
                height == rectangle.height &&
                perimeter == rectangle.perimeter &&
                area == rectangle.area;
    }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值