본문 바로가기
study/Java

[Java] 18. TEST4 풀이 (Rectangle2 클래스 구현하기 / 구동클래스에 Rectangle2 클래스의 객체를 5개 생성하기)

by 금이패런츠 2022. 3. 17.
728x90
반응형
package chap6;
/* 1. Rectangle2 클래스 구현하기
 * 멤버변수 : 가로(width),세로(height)
 * 멤버메서드 :
 *     int area() : 사각형의 넓이 리턴
 *     int length() : 사각형의 둘레 리턴
 *     boolean isSquare() : 정사각형여부 리턴
 *     String toString() : 가로길이, 세로길이, 넓이,둘레, 정사각형여부를 리턴
 *  
 *  2. 구동클래스에 Rectangle2 클래스의 객체를 5개 생성하기
 *     - 가로,세로길이는 10이상 15이하인 임의의 수로 한다.
 *     - 5개 사각형의 넓이의 합과, 둘레의 합 출력하기
 *     - 5개 사각형중 정사각형의 갯수를 출력하기   
 */
class Rectangle2 {
	int width,height;
	int area() {
		return width * height;
	}
	int length() {
		return 2 * (width + height);
	}
	boolean isSquare() {
		return width == height;
	}
	public String toString() {
		return "("+ width+","+height+") 사각형: 넓이:" + area() 
		+ ",둘레:" + length() + "," + ((isSquare())?"정사각형":"정사각형아님");  
	}
}
public class Test0310_4_A {
	public static void main(String[] args) {
    
		Rectangle2[] arr = new Rectangle2[5];
		int sumArea=0,sumLength=0,cnt=0;
		for(int i=0;i<arr.length;i++) {
			arr[i] = new Rectangle2();
			arr[i].width = (int)(Math.random() * 5) + 10;
			arr[i].height = (int)(Math.random() * 5) + 10;
			System.out.println(arr[i]);
			sumArea += arr[i].area();
			sumLength += arr[i].length();
			if(arr[i].isSquare()) cnt++;
		}
		System.out.println("전체 사각형의 넓이 합:" + sumArea);
		System.out.println("전체 사각형의 둘레 합:" + sumLength);
		System.out.println("전체 사각형 중 정사각형 갯수:" + cnt);
		
	}
}
728x90
반응형